diff --git a/packages/google-cloud-securitycenter/README.md b/packages/google-cloud-securitycenter/README.md index bcc0fbf15294..f83d6db3695f 100644 --- a/packages/google-cloud-securitycenter/README.md +++ b/packages/google-cloud-securitycenter/README.md @@ -129,7 +129,6 @@ Samples are in the [`samples/`][homepage_samples] directory. Each sample's `READ | update security marks | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1/security_center.update_security_marks.js) | | update source | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1/security_center.update_source.js) | | validate event threat detection custom module | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1/security_center.validate_event_threat_detection_custom_module.js) | -| cloud | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1/snippet_metadata_google.cloud.securitycenter.v1.json) | | create finding | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1beta1/security_center.create_finding.js) | | create source | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1beta1/security_center.create_source.js) | | get iam policy | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1beta1/security_center.get_iam_policy.js) | @@ -148,7 +147,6 @@ Samples are in the [`samples/`][homepage_samples] directory. Each sample's `READ | update organization settings | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1beta1/security_center.update_organization_settings.js) | | update security marks | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1beta1/security_center.update_security_marks.js) | | update source | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1beta1/security_center.update_source.js) | -| cloud | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1beta1/snippet_metadata_google.cloud.securitycenter.v1beta1.json) | | create finding | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1p1beta1/security_center.create_finding.js) | | create notification config | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1p1beta1/security_center.create_notification_config.js) | | create source | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1p1beta1/security_center.create_source.js) | @@ -172,7 +170,6 @@ Samples are in the [`samples/`][homepage_samples] directory. Each sample's `READ | update organization settings | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1p1beta1/security_center.update_organization_settings.js) | | update security marks | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1p1beta1/security_center.update_security_marks.js) | | update source | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1p1beta1/security_center.update_source.js) | -| cloud | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v1p1beta1/snippet_metadata_google.cloud.securitycenter.v1p1beta1.json) | | batch create resource value configs | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v2/security_center.batch_create_resource_value_configs.js) | | bulk mute findings | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v2/security_center.bulk_mute_findings.js) | | create big query export | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v2/security_center.create_big_query_export.js) | @@ -213,7 +210,6 @@ Samples are in the [`samples/`][homepage_samples] directory. Each sample's `READ | update resource value config | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v2/security_center.update_resource_value_config.js) | | update security marks | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v2/security_center.update_security_marks.js) | | update source | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v2/security_center.update_source.js) | -| cloud | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycenter/samples/generated/v2/snippet_metadata_google.cloud.securitycenter.v2.json) | ## Supported Node.js Versions diff --git a/packages/google-cloud-securitycenter/protos/protos.js b/packages/google-cloud-securitycenter/protos/protos.js index 89b034a5d3c9..360bd99b0dbe 100644 --- a/packages/google-cloud-securitycenter/protos/protos.js +++ b/packages/google-cloud-securitycenter/protos/protos.js @@ -97,7 +97,7 @@ this.serviceAccountDelegationInfo = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -263,9 +263,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Access.decode = function decode(reader, length, error) { + Access.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Access(); while (reader.pos < end) { var tag = reader.uint32(); @@ -281,7 +285,7 @@ break; } case 3: { - message.callerIpGeo = $root.google.cloud.securitycenter.v1.Geolocation.decode(reader, reader.uint32()); + message.callerIpGeo = $root.google.cloud.securitycenter.v1.Geolocation.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -311,7 +315,7 @@ case 9: { if (!(message.serviceAccountDelegationInfo && message.serviceAccountDelegationInfo.length)) message.serviceAccountDelegationInfo = []; - message.serviceAccountDelegationInfo.push($root.google.cloud.securitycenter.v1.ServiceAccountDelegationInfo.decode(reader, reader.uint32())); + message.serviceAccountDelegationInfo.push($root.google.cloud.securitycenter.v1.ServiceAccountDelegationInfo.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 11: { @@ -319,7 +323,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -350,9 +354,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Access.verify = function verify(message) { + Access.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.principalEmail != null && message.hasOwnProperty("principalEmail")) if (!$util.isString(message.principalEmail)) return "principalEmail: string expected"; @@ -360,7 +368,7 @@ if (!$util.isString(message.callerIp)) return "callerIp: string expected"; if (message.callerIpGeo != null && message.hasOwnProperty("callerIpGeo")) { - var error = $root.google.cloud.securitycenter.v1.Geolocation.verify(message.callerIpGeo); + var error = $root.google.cloud.securitycenter.v1.Geolocation.verify(message.callerIpGeo, long + 1); if (error) return "callerIpGeo." + error; } @@ -386,7 +394,7 @@ if (!Array.isArray(message.serviceAccountDelegationInfo)) return "serviceAccountDelegationInfo: array expected"; for (var i = 0; i < message.serviceAccountDelegationInfo.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.ServiceAccountDelegationInfo.verify(message.serviceAccountDelegationInfo[i]); + var error = $root.google.cloud.securitycenter.v1.ServiceAccountDelegationInfo.verify(message.serviceAccountDelegationInfo[i], long + 1); if (error) return "serviceAccountDelegationInfo." + error; } @@ -405,9 +413,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Access} Access */ - Access.fromObject = function fromObject(object) { + Access.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Access) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Access(); if (object.principalEmail != null) message.principalEmail = String(object.principalEmail); @@ -416,7 +428,7 @@ if (object.callerIpGeo != null) { if (typeof object.callerIpGeo !== "object") throw TypeError(".google.cloud.securitycenter.v1.Access.callerIpGeo: object expected"); - message.callerIpGeo = $root.google.cloud.securitycenter.v1.Geolocation.fromObject(object.callerIpGeo); + message.callerIpGeo = $root.google.cloud.securitycenter.v1.Geolocation.fromObject(object.callerIpGeo, long + 1); } if (object.userAgentFamily != null) message.userAgentFamily = String(object.userAgentFamily); @@ -437,7 +449,7 @@ for (var i = 0; i < object.serviceAccountDelegationInfo.length; ++i) { if (typeof object.serviceAccountDelegationInfo[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Access.serviceAccountDelegationInfo: object expected"); - message.serviceAccountDelegationInfo[i] = $root.google.cloud.securitycenter.v1.ServiceAccountDelegationInfo.fromObject(object.serviceAccountDelegationInfo[i]); + message.serviceAccountDelegationInfo[i] = $root.google.cloud.securitycenter.v1.ServiceAccountDelegationInfo.fromObject(object.serviceAccountDelegationInfo[i], long + 1); } } if (object.userName != null) @@ -550,7 +562,7 @@ function ServiceAccountDelegationInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -625,9 +637,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceAccountDelegationInfo.decode = function decode(reader, length, error) { + ServiceAccountDelegationInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ServiceAccountDelegationInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -643,7 +659,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -674,9 +690,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ServiceAccountDelegationInfo.verify = function verify(message) { + ServiceAccountDelegationInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.principalEmail != null && message.hasOwnProperty("principalEmail")) if (!$util.isString(message.principalEmail)) return "principalEmail: string expected"; @@ -694,9 +714,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ServiceAccountDelegationInfo} ServiceAccountDelegationInfo */ - ServiceAccountDelegationInfo.fromObject = function fromObject(object) { + ServiceAccountDelegationInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ServiceAccountDelegationInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ServiceAccountDelegationInfo(); if (object.principalEmail != null) message.principalEmail = String(object.principalEmail); @@ -778,7 +802,7 @@ function Geolocation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -843,9 +867,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Geolocation.decode = function decode(reader, length, error) { + Geolocation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Geolocation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -857,7 +885,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -888,9 +916,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Geolocation.verify = function verify(message) { + Geolocation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.regionCode != null && message.hasOwnProperty("regionCode")) if (!$util.isString(message.regionCode)) return "regionCode: string expected"; @@ -905,9 +937,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Geolocation} Geolocation */ - Geolocation.fromObject = function fromObject(object) { + Geolocation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Geolocation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Geolocation(); if (object.regionCode != null) message.regionCode = String(object.regionCode); @@ -984,7 +1020,7 @@ function Application(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1059,9 +1095,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Application.decode = function decode(reader, length, error) { + Application.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Application(); while (reader.pos < end) { var tag = reader.uint32(); @@ -1077,7 +1117,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1108,9 +1148,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Application.verify = function verify(message) { + Application.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.baseUri != null && message.hasOwnProperty("baseUri")) if (!$util.isString(message.baseUri)) return "baseUri: string expected"; @@ -1128,9 +1172,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Application} Application */ - Application.fromObject = function fromObject(object) { + Application.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Application) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Application(); if (object.baseUri != null) message.baseUri = String(object.baseUri); @@ -1220,7 +1268,7 @@ this.resourceProperties = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1358,9 +1406,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Asset.decode = function decode(reader, length, error) { + Asset.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Asset(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -1372,7 +1424,7 @@ break; } case 2: { - message.securityCenterProperties = $root.google.cloud.securitycenter.v1.Asset.SecurityCenterProperties.decode(reader, reader.uint32()); + message.securityCenterProperties = $root.google.cloud.securitycenter.v1.Asset.SecurityCenterProperties.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -1388,30 +1440,32 @@ key = reader.string(); break; case 2: - value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.resourceProperties, key); message.resourceProperties[key] = value; break; } case 8: { - message.securityMarks = $root.google.cloud.securitycenter.v1.SecurityMarks.decode(reader, reader.uint32()); + message.securityMarks = $root.google.cloud.securitycenter.v1.SecurityMarks.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 11: { - message.iamPolicy = $root.google.cloud.securitycenter.v1.Asset.IamPolicy.decode(reader, reader.uint32()); + message.iamPolicy = $root.google.cloud.securitycenter.v1.Asset.IamPolicy.decode(reader, reader.uint32(), undefined, long + 1); break; } case 13: { @@ -1419,7 +1473,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1450,14 +1504,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Asset.verify = function verify(message) { + Asset.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.securityCenterProperties != null && message.hasOwnProperty("securityCenterProperties")) { - var error = $root.google.cloud.securitycenter.v1.Asset.SecurityCenterProperties.verify(message.securityCenterProperties); + var error = $root.google.cloud.securitycenter.v1.Asset.SecurityCenterProperties.verify(message.securityCenterProperties, long + 1); if (error) return "securityCenterProperties." + error; } @@ -1466,28 +1524,28 @@ return "resourceProperties: object expected"; var key = Object.keys(message.resourceProperties); for (var i = 0; i < key.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.resourceProperties[key[i]]); + var error = $root.google.protobuf.Value.verify(message.resourceProperties[key[i]], long + 1); if (error) return "resourceProperties." + error; } } if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) { - var error = $root.google.cloud.securitycenter.v1.SecurityMarks.verify(message.securityMarks); + var error = $root.google.cloud.securitycenter.v1.SecurityMarks.verify(message.securityMarks, long + 1); if (error) return "securityMarks." + error; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } if (message.iamPolicy != null && message.hasOwnProperty("iamPolicy")) { - var error = $root.google.cloud.securitycenter.v1.Asset.IamPolicy.verify(message.iamPolicy); + var error = $root.google.cloud.securitycenter.v1.Asset.IamPolicy.verify(message.iamPolicy, long + 1); if (error) return "iamPolicy." + error; } @@ -1505,46 +1563,52 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Asset} Asset */ - Asset.fromObject = function fromObject(object) { + Asset.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Asset) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Asset(); if (object.name != null) message.name = String(object.name); if (object.securityCenterProperties != null) { if (typeof object.securityCenterProperties !== "object") throw TypeError(".google.cloud.securitycenter.v1.Asset.securityCenterProperties: object expected"); - message.securityCenterProperties = $root.google.cloud.securitycenter.v1.Asset.SecurityCenterProperties.fromObject(object.securityCenterProperties); + message.securityCenterProperties = $root.google.cloud.securitycenter.v1.Asset.SecurityCenterProperties.fromObject(object.securityCenterProperties, long + 1); } if (object.resourceProperties) { if (typeof object.resourceProperties !== "object") throw TypeError(".google.cloud.securitycenter.v1.Asset.resourceProperties: object expected"); message.resourceProperties = {}; for (var keys = Object.keys(object.resourceProperties), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.resourceProperties, keys[i]); if (typeof object.resourceProperties[keys[i]] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Asset.resourceProperties: object expected"); - message.resourceProperties[keys[i]] = $root.google.protobuf.Value.fromObject(object.resourceProperties[keys[i]]); + message.resourceProperties[keys[i]] = $root.google.protobuf.Value.fromObject(object.resourceProperties[keys[i]], long + 1); } } if (object.securityMarks != null) { if (typeof object.securityMarks !== "object") throw TypeError(".google.cloud.securitycenter.v1.Asset.securityMarks: object expected"); - message.securityMarks = $root.google.cloud.securitycenter.v1.SecurityMarks.fromObject(object.securityMarks); + message.securityMarks = $root.google.cloud.securitycenter.v1.SecurityMarks.fromObject(object.securityMarks, long + 1); } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.Asset.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.Asset.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.iamPolicy != null) { if (typeof object.iamPolicy !== "object") throw TypeError(".google.cloud.securitycenter.v1.Asset.iamPolicy: object expected"); - message.iamPolicy = $root.google.cloud.securitycenter.v1.Asset.IamPolicy.fromObject(object.iamPolicy); + message.iamPolicy = $root.google.cloud.securitycenter.v1.Asset.IamPolicy.fromObject(object.iamPolicy, long + 1); } if (object.canonicalName != null) message.canonicalName = String(object.canonicalName); @@ -1582,8 +1646,11 @@ var keys2; if (message.resourceProperties && (keys2 = Object.keys(message.resourceProperties)).length) { object.resourceProperties = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.resourceProperties, keys2[j]); object.resourceProperties[keys2[j]] = $root.google.protobuf.Value.toObject(message.resourceProperties[keys2[j]], options); + } } if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) object.securityMarks = $root.google.cloud.securitycenter.v1.SecurityMarks.toObject(message.securityMarks, options); @@ -1654,7 +1721,7 @@ this.folders = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1801,9 +1868,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityCenterProperties.decode = function decode(reader, length, error) { + SecurityCenterProperties.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Asset.SecurityCenterProperties(); while (reader.pos < end) { var tag = reader.uint32(); @@ -1847,11 +1918,11 @@ case 10: { if (!(message.folders && message.folders.length)) message.folders = []; - message.folders.push($root.google.cloud.securitycenter.v1.Folder.decode(reader, reader.uint32())); + message.folders.push($root.google.cloud.securitycenter.v1.Folder.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1882,9 +1953,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityCenterProperties.verify = function verify(message) { + SecurityCenterProperties.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceName != null && message.hasOwnProperty("resourceName")) if (!$util.isString(message.resourceName)) return "resourceName: string expected"; @@ -1917,7 +1992,7 @@ if (!Array.isArray(message.folders)) return "folders: array expected"; for (var i = 0; i < message.folders.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Folder.verify(message.folders[i]); + var error = $root.google.cloud.securitycenter.v1.Folder.verify(message.folders[i], long + 1); if (error) return "folders." + error; } @@ -1933,9 +2008,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Asset.SecurityCenterProperties} SecurityCenterProperties */ - SecurityCenterProperties.fromObject = function fromObject(object) { + SecurityCenterProperties.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Asset.SecurityCenterProperties) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Asset.SecurityCenterProperties(); if (object.resourceName != null) message.resourceName = String(object.resourceName); @@ -1965,7 +2044,7 @@ for (var i = 0; i < object.folders.length; ++i) { if (typeof object.folders[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Asset.SecurityCenterProperties.folders: object expected"); - message.folders[i] = $root.google.cloud.securitycenter.v1.Folder.fromObject(object.folders[i]); + message.folders[i] = $root.google.cloud.securitycenter.v1.Folder.fromObject(object.folders[i], long + 1); } } return message; @@ -2073,7 +2152,7 @@ function IamPolicy(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2138,9 +2217,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IamPolicy.decode = function decode(reader, length, error) { + IamPolicy.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Asset.IamPolicy(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2152,7 +2235,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2183,9 +2266,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - IamPolicy.verify = function verify(message) { + IamPolicy.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.policyBlob != null && message.hasOwnProperty("policyBlob")) if (!$util.isString(message.policyBlob)) return "policyBlob: string expected"; @@ -2200,9 +2287,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Asset.IamPolicy} IamPolicy */ - IamPolicy.fromObject = function fromObject(object) { + IamPolicy.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Asset.IamPolicy) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Asset.IamPolicy(); if (object.policyBlob != null) message.policyBlob = String(object.policyBlob); @@ -2282,7 +2373,7 @@ function Folder(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2357,9 +2448,13 @@ * @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, error) { + Folder.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Folder(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2375,7 +2470,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2406,9 +2501,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Folder.verify = function verify(message) { + Folder.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceFolder != null && message.hasOwnProperty("resourceFolder")) if (!$util.isString(message.resourceFolder)) return "resourceFolder: string expected"; @@ -2426,9 +2525,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Folder} Folder */ - Folder.fromObject = function fromObject(object) { + Folder.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Folder) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Folder(); if (object.resourceFolder != null) message.resourceFolder = String(object.resourceFolder); @@ -2513,7 +2616,7 @@ this.marks = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2599,9 +2702,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityMarks.decode = function decode(reader, length, error) { + SecurityMarks.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.SecurityMarks(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -2628,10 +2735,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.marks, key); message.marks[key] = value; break; } @@ -2640,7 +2749,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2671,9 +2780,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityMarks.verify = function verify(message) { + SecurityMarks.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -2699,9 +2812,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.SecurityMarks} SecurityMarks */ - SecurityMarks.fromObject = function fromObject(object) { + SecurityMarks.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.SecurityMarks) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.SecurityMarks(); if (object.name != null) message.name = String(object.name); @@ -2709,8 +2826,11 @@ if (typeof object.marks !== "object") throw TypeError(".google.cloud.securitycenter.v1.SecurityMarks.marks: object expected"); message.marks = {}; - for (var keys = Object.keys(object.marks), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.marks), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.marks, keys[i]); message.marks[keys[i]] = String(object.marks[keys[i]]); + } } if (object.canonicalName != null) message.canonicalName = String(object.canonicalName); @@ -2741,8 +2861,11 @@ var keys2; if (message.marks && (keys2 = Object.keys(message.marks)).length) { object.marks = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.marks, keys2[j]); object.marks[keys2[j]] = message.marks[keys2[j]]; + } } if (message.canonicalName != null && message.hasOwnProperty("canonicalName")) object.canonicalName = message.canonicalName; @@ -2804,7 +2927,7 @@ function AttackExposure(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2929,9 +3052,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AttackExposure.decode = function decode(reader, length, error) { + AttackExposure.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.AttackExposure(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2943,7 +3070,7 @@ break; } case 2: { - message.latestCalculationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.latestCalculationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -2967,7 +3094,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2998,14 +3125,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AttackExposure.verify = function verify(message) { + AttackExposure.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.score != null && message.hasOwnProperty("score")) if (typeof message.score !== "number") return "score: number expected"; if (message.latestCalculationTime != null && message.hasOwnProperty("latestCalculationTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.latestCalculationTime); + var error = $root.google.protobuf.Timestamp.verify(message.latestCalculationTime, long + 1); if (error) return "latestCalculationTime." + error; } @@ -3041,16 +3172,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.AttackExposure} AttackExposure */ - AttackExposure.fromObject = function fromObject(object) { + AttackExposure.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.AttackExposure) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.AttackExposure(); if (object.score != null) message.score = Number(object.score); if (object.latestCalculationTime != null) { if (typeof object.latestCalculationTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.AttackExposure.latestCalculationTime: object expected"); - message.latestCalculationTime = $root.google.protobuf.Timestamp.fromObject(object.latestCalculationTime); + message.latestCalculationTime = $root.google.protobuf.Timestamp.fromObject(object.latestCalculationTime, long + 1); } if (object.attackExposureResult != null) message.attackExposureResult = String(object.attackExposureResult); @@ -3191,7 +3326,7 @@ this.edges = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3278,9 +3413,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AttackPath.decode = function decode(reader, length, error) { + AttackPath.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.AttackPath(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3294,17 +3433,17 @@ case 2: { if (!(message.pathNodes && message.pathNodes.length)) message.pathNodes = []; - message.pathNodes.push($root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.decode(reader, reader.uint32())); + message.pathNodes.push($root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { if (!(message.edges && message.edges.length)) message.edges = []; - message.edges.push($root.google.cloud.securitycenter.v1.AttackPath.AttackPathEdge.decode(reader, reader.uint32())); + message.edges.push($root.google.cloud.securitycenter.v1.AttackPath.AttackPathEdge.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3335,9 +3474,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AttackPath.verify = function verify(message) { + AttackPath.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -3345,7 +3488,7 @@ if (!Array.isArray(message.pathNodes)) return "pathNodes: array expected"; for (var i = 0; i < message.pathNodes.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.verify(message.pathNodes[i]); + var error = $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.verify(message.pathNodes[i], long + 1); if (error) return "pathNodes." + error; } @@ -3354,7 +3497,7 @@ if (!Array.isArray(message.edges)) return "edges: array expected"; for (var i = 0; i < message.edges.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.AttackPath.AttackPathEdge.verify(message.edges[i]); + var error = $root.google.cloud.securitycenter.v1.AttackPath.AttackPathEdge.verify(message.edges[i], long + 1); if (error) return "edges." + error; } @@ -3370,9 +3513,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.AttackPath} AttackPath */ - AttackPath.fromObject = function fromObject(object) { + AttackPath.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.AttackPath) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.AttackPath(); if (object.name != null) message.name = String(object.name); @@ -3383,7 +3530,7 @@ for (var i = 0; i < object.pathNodes.length; ++i) { if (typeof object.pathNodes[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.AttackPath.pathNodes: object expected"); - message.pathNodes[i] = $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.fromObject(object.pathNodes[i]); + message.pathNodes[i] = $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.fromObject(object.pathNodes[i], long + 1); } } if (object.edges) { @@ -3393,7 +3540,7 @@ for (var i = 0; i < object.edges.length; ++i) { if (typeof object.edges[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.AttackPath.edges: object expected"); - message.edges[i] = $root.google.cloud.securitycenter.v1.AttackPath.AttackPathEdge.fromObject(object.edges[i]); + message.edges[i] = $root.google.cloud.securitycenter.v1.AttackPath.AttackPathEdge.fromObject(object.edges[i], long + 1); } } return message; @@ -3486,7 +3633,7 @@ this.attackSteps = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3603,9 +3750,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AttackPathNode.decode = function decode(reader, length, error) { + AttackPathNode.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3627,7 +3778,7 @@ case 4: { if (!(message.associatedFindings && message.associatedFindings.length)) message.associatedFindings = []; - message.associatedFindings.push($root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.PathNodeAssociatedFinding.decode(reader, reader.uint32())); + message.associatedFindings.push($root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.PathNodeAssociatedFinding.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { @@ -3637,11 +3788,11 @@ case 6: { if (!(message.attackSteps && message.attackSteps.length)) message.attackSteps = []; - message.attackSteps.push($root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.AttackStepNode.decode(reader, reader.uint32())); + message.attackSteps.push($root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.AttackStepNode.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3672,9 +3823,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AttackPathNode.verify = function verify(message) { + AttackPathNode.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resource != null && message.hasOwnProperty("resource")) if (!$util.isString(message.resource)) return "resource: string expected"; @@ -3688,7 +3843,7 @@ if (!Array.isArray(message.associatedFindings)) return "associatedFindings: array expected"; for (var i = 0; i < message.associatedFindings.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.PathNodeAssociatedFinding.verify(message.associatedFindings[i]); + var error = $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.PathNodeAssociatedFinding.verify(message.associatedFindings[i], long + 1); if (error) return "associatedFindings." + error; } @@ -3700,7 +3855,7 @@ if (!Array.isArray(message.attackSteps)) return "attackSteps: array expected"; for (var i = 0; i < message.attackSteps.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.AttackStepNode.verify(message.attackSteps[i]); + var error = $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.AttackStepNode.verify(message.attackSteps[i], long + 1); if (error) return "attackSteps." + error; } @@ -3716,9 +3871,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.AttackPath.AttackPathNode} AttackPathNode */ - AttackPathNode.fromObject = function fromObject(object) { + AttackPathNode.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode(); if (object.resource != null) message.resource = String(object.resource); @@ -3733,7 +3892,7 @@ for (var i = 0; i < object.associatedFindings.length; ++i) { if (typeof object.associatedFindings[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.AttackPath.AttackPathNode.associatedFindings: object expected"); - message.associatedFindings[i] = $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.PathNodeAssociatedFinding.fromObject(object.associatedFindings[i]); + message.associatedFindings[i] = $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.PathNodeAssociatedFinding.fromObject(object.associatedFindings[i], long + 1); } } if (object.uuid != null) @@ -3745,7 +3904,7 @@ for (var i = 0; i < object.attackSteps.length; ++i) { if (typeof object.attackSteps[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.AttackPath.AttackPathNode.attackSteps: object expected"); - message.attackSteps[i] = $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.AttackStepNode.fromObject(object.attackSteps[i]); + message.attackSteps[i] = $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.AttackStepNode.fromObject(object.attackSteps[i], long + 1); } } return message; @@ -3843,7 +4002,7 @@ function PathNodeAssociatedFinding(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3928,9 +4087,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PathNodeAssociatedFinding.decode = function decode(reader, length, error) { + PathNodeAssociatedFinding.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.PathNodeAssociatedFinding(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3950,7 +4113,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3981,9 +4144,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PathNodeAssociatedFinding.verify = function verify(message) { + PathNodeAssociatedFinding.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.canonicalFinding != null && message.hasOwnProperty("canonicalFinding")) if (!$util.isString(message.canonicalFinding)) return "canonicalFinding: string expected"; @@ -4004,9 +4171,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.AttackPath.AttackPathNode.PathNodeAssociatedFinding} PathNodeAssociatedFinding */ - PathNodeAssociatedFinding.fromObject = function fromObject(object) { + PathNodeAssociatedFinding.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.PathNodeAssociatedFinding) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.PathNodeAssociatedFinding(); if (object.canonicalFinding != null) message.canonicalFinding = String(object.canonicalFinding); @@ -4118,7 +4289,7 @@ this.labels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4224,9 +4395,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AttackStepNode.decode = function decode(reader, length, error) { + AttackStepNode.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.AttackStepNode(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -4261,10 +4436,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } @@ -4273,7 +4450,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4304,9 +4481,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AttackStepNode.verify = function verify(message) { + AttackStepNode.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.uuid != null && message.hasOwnProperty("uuid")) if (!$util.isString(message.uuid)) return "uuid: string expected"; @@ -4346,9 +4527,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.AttackPath.AttackPathNode.AttackStepNode} AttackStepNode */ - AttackStepNode.fromObject = function fromObject(object) { + AttackStepNode.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.AttackStepNode) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.AttackPath.AttackPathNode.AttackStepNode(); if (object.uuid != null) message.uuid = String(object.uuid); @@ -4386,8 +4571,11 @@ if (typeof object.labels !== "object") throw TypeError(".google.cloud.securitycenter.v1.AttackPath.AttackPathNode.AttackStepNode.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } if (object.description != null) message.description = String(object.description); @@ -4424,8 +4612,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.description != null && message.hasOwnProperty("description")) object.description = message.description; @@ -4485,7 +4676,7 @@ function AttackPathEdge(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4560,9 +4751,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AttackPathEdge.decode = function decode(reader, length, error) { + AttackPathEdge.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.AttackPath.AttackPathEdge(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4578,7 +4773,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4609,9 +4804,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AttackPathEdge.verify = function verify(message) { + AttackPathEdge.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.source != null && message.hasOwnProperty("source")) if (!$util.isString(message.source)) return "source: string expected"; @@ -4629,9 +4828,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.AttackPath.AttackPathEdge} AttackPathEdge */ - AttackPathEdge.fromObject = function fromObject(object) { + AttackPathEdge.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.AttackPath.AttackPathEdge) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.AttackPath.AttackPathEdge(); if (object.source != null) message.source = String(object.source); @@ -4728,7 +4931,7 @@ this.policyOptions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4886,9 +5089,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BackupDisasterRecovery.decode = function decode(reader, length, error) { + BackupDisasterRecovery.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.BackupDisasterRecovery(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4938,11 +5145,11 @@ break; } case 10: { - message.backupCreateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.backupCreateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4973,9 +5180,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BackupDisasterRecovery.verify = function verify(message) { + BackupDisasterRecovery.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.backupTemplate != null && message.hasOwnProperty("backupTemplate")) if (!$util.isString(message.backupTemplate)) return "backupTemplate: string expected"; @@ -5016,7 +5227,7 @@ if (!$util.isString(message.backupType)) return "backupType: string expected"; if (message.backupCreateTime != null && message.hasOwnProperty("backupCreateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.backupCreateTime); + var error = $root.google.protobuf.Timestamp.verify(message.backupCreateTime, long + 1); if (error) return "backupCreateTime." + error; } @@ -5031,9 +5242,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.BackupDisasterRecovery} BackupDisasterRecovery */ - BackupDisasterRecovery.fromObject = function fromObject(object) { + BackupDisasterRecovery.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.BackupDisasterRecovery) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.BackupDisasterRecovery(); if (object.backupTemplate != null) message.backupTemplate = String(object.backupTemplate); @@ -5071,7 +5286,7 @@ if (object.backupCreateTime != null) { if (typeof object.backupCreateTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.BackupDisasterRecovery.backupCreateTime: object expected"); - message.backupCreateTime = $root.google.protobuf.Timestamp.fromObject(object.backupCreateTime); + message.backupCreateTime = $root.google.protobuf.Timestamp.fromObject(object.backupCreateTime, long + 1); } return message; }; @@ -5191,7 +5406,7 @@ function BigQueryExport(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5326,9 +5541,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BigQueryExport.decode = function decode(reader, length, error) { + BigQueryExport.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.BigQueryExport(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5352,11 +5571,11 @@ break; } case 5: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -5368,7 +5587,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5399,9 +5618,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BigQueryExport.verify = function verify(message) { + BigQueryExport.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -5415,12 +5638,12 @@ if (!$util.isString(message.dataset)) return "dataset: string expected"; if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -5441,9 +5664,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.BigQueryExport} BigQueryExport */ - BigQueryExport.fromObject = function fromObject(object) { + BigQueryExport.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.BigQueryExport) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.BigQueryExport(); if (object.name != null) message.name = String(object.name); @@ -5456,12 +5683,12 @@ if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.BigQueryExport.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.BigQueryExport.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.mostRecentEditor != null) message.mostRecentEditor = String(object.mostRecentEditor); @@ -5562,7 +5789,7 @@ this.relatedFindings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5628,9 +5855,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Chokepoint.decode = function decode(reader, length, error) { + Chokepoint.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Chokepoint(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5644,7 +5875,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5675,9 +5906,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Chokepoint.verify = function verify(message) { + Chokepoint.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.relatedFindings != null && message.hasOwnProperty("relatedFindings")) { if (!Array.isArray(message.relatedFindings)) return "relatedFindings: array expected"; @@ -5696,9 +5931,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Chokepoint} Chokepoint */ - Chokepoint.fromObject = function fromObject(object) { + Chokepoint.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Chokepoint) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Chokepoint(); if (object.relatedFindings) { if (!Array.isArray(object.relatedFindings)) @@ -5787,7 +6026,7 @@ function CloudArmor(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5902,9 +6141,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CloudArmor.decode = function decode(reader, length, error) { + CloudArmor.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CloudArmor(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5912,19 +6155,19 @@ break; switch (tag >>> 3) { case 1: { - message.securityPolicy = $root.google.cloud.securitycenter.v1.SecurityPolicy.decode(reader, reader.uint32()); + message.securityPolicy = $root.google.cloud.securitycenter.v1.SecurityPolicy.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.requests = $root.google.cloud.securitycenter.v1.Requests.decode(reader, reader.uint32()); + message.requests = $root.google.cloud.securitycenter.v1.Requests.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.adaptiveProtection = $root.google.cloud.securitycenter.v1.AdaptiveProtection.decode(reader, reader.uint32()); + message.adaptiveProtection = $root.google.cloud.securitycenter.v1.AdaptiveProtection.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.attack = $root.google.cloud.securitycenter.v1.Attack.decode(reader, reader.uint32()); + message.attack = $root.google.cloud.securitycenter.v1.Attack.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -5932,11 +6175,11 @@ break; } case 6: { - message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5967,26 +6210,30 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CloudArmor.verify = function verify(message) { + CloudArmor.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.securityPolicy != null && message.hasOwnProperty("securityPolicy")) { - var error = $root.google.cloud.securitycenter.v1.SecurityPolicy.verify(message.securityPolicy); + var error = $root.google.cloud.securitycenter.v1.SecurityPolicy.verify(message.securityPolicy, long + 1); if (error) return "securityPolicy." + error; } if (message.requests != null && message.hasOwnProperty("requests")) { - var error = $root.google.cloud.securitycenter.v1.Requests.verify(message.requests); + var error = $root.google.cloud.securitycenter.v1.Requests.verify(message.requests, long + 1); if (error) return "requests." + error; } if (message.adaptiveProtection != null && message.hasOwnProperty("adaptiveProtection")) { - var error = $root.google.cloud.securitycenter.v1.AdaptiveProtection.verify(message.adaptiveProtection); + var error = $root.google.cloud.securitycenter.v1.AdaptiveProtection.verify(message.adaptiveProtection, long + 1); if (error) return "adaptiveProtection." + error; } if (message.attack != null && message.hasOwnProperty("attack")) { - var error = $root.google.cloud.securitycenter.v1.Attack.verify(message.attack); + var error = $root.google.cloud.securitycenter.v1.Attack.verify(message.attack, long + 1); if (error) return "attack." + error; } @@ -5994,7 +6241,7 @@ if (!$util.isString(message.threatVector)) return "threatVector: string expected"; if (message.duration != null && message.hasOwnProperty("duration")) { - var error = $root.google.protobuf.Duration.verify(message.duration); + var error = $root.google.protobuf.Duration.verify(message.duration, long + 1); if (error) return "duration." + error; } @@ -6009,36 +6256,40 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CloudArmor} CloudArmor */ - CloudArmor.fromObject = function fromObject(object) { + CloudArmor.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CloudArmor) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CloudArmor(); if (object.securityPolicy != null) { if (typeof object.securityPolicy !== "object") throw TypeError(".google.cloud.securitycenter.v1.CloudArmor.securityPolicy: object expected"); - message.securityPolicy = $root.google.cloud.securitycenter.v1.SecurityPolicy.fromObject(object.securityPolicy); + message.securityPolicy = $root.google.cloud.securitycenter.v1.SecurityPolicy.fromObject(object.securityPolicy, long + 1); } if (object.requests != null) { if (typeof object.requests !== "object") throw TypeError(".google.cloud.securitycenter.v1.CloudArmor.requests: object expected"); - message.requests = $root.google.cloud.securitycenter.v1.Requests.fromObject(object.requests); + message.requests = $root.google.cloud.securitycenter.v1.Requests.fromObject(object.requests, long + 1); } if (object.adaptiveProtection != null) { if (typeof object.adaptiveProtection !== "object") throw TypeError(".google.cloud.securitycenter.v1.CloudArmor.adaptiveProtection: object expected"); - message.adaptiveProtection = $root.google.cloud.securitycenter.v1.AdaptiveProtection.fromObject(object.adaptiveProtection); + message.adaptiveProtection = $root.google.cloud.securitycenter.v1.AdaptiveProtection.fromObject(object.adaptiveProtection, long + 1); } if (object.attack != null) { if (typeof object.attack !== "object") throw TypeError(".google.cloud.securitycenter.v1.CloudArmor.attack: object expected"); - message.attack = $root.google.cloud.securitycenter.v1.Attack.fromObject(object.attack); + message.attack = $root.google.cloud.securitycenter.v1.Attack.fromObject(object.attack, long + 1); } if (object.threatVector != null) message.threatVector = String(object.threatVector); if (object.duration != null) { if (typeof object.duration !== "object") throw TypeError(".google.cloud.securitycenter.v1.CloudArmor.duration: object expected"); - message.duration = $root.google.protobuf.Duration.fromObject(object.duration); + message.duration = $root.google.protobuf.Duration.fromObject(object.duration, long + 1); } return message; }; @@ -6130,7 +6381,7 @@ function SecurityPolicy(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6215,9 +6466,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityPolicy.decode = function decode(reader, length, error) { + SecurityPolicy.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.SecurityPolicy(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6237,7 +6492,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6268,9 +6523,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityPolicy.verify = function verify(message) { + SecurityPolicy.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -6291,9 +6550,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.SecurityPolicy} SecurityPolicy */ - SecurityPolicy.fromObject = function fromObject(object) { + SecurityPolicy.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.SecurityPolicy) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.SecurityPolicy(); if (object.name != null) message.name = String(object.name); @@ -6383,7 +6646,7 @@ function Requests(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6478,9 +6741,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Requests.decode = function decode(reader, length, error) { + Requests.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Requests(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6504,7 +6771,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6535,9 +6802,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Requests.verify = function verify(message) { + Requests.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ratio != null && message.hasOwnProperty("ratio")) if (typeof message.ratio !== "number") return "ratio: number expected"; @@ -6561,9 +6832,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Requests} Requests */ - Requests.fromObject = function fromObject(object) { + Requests.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Requests) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Requests(); if (object.ratio != null) message.ratio = Number(object.ratio); @@ -6655,7 +6930,7 @@ function AdaptiveProtection(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6720,9 +6995,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdaptiveProtection.decode = function decode(reader, length, error) { + AdaptiveProtection.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.AdaptiveProtection(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6734,7 +7013,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6765,9 +7044,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AdaptiveProtection.verify = function verify(message) { + AdaptiveProtection.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.confidence != null && message.hasOwnProperty("confidence")) if (typeof message.confidence !== "number") return "confidence: number expected"; @@ -6782,9 +7065,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.AdaptiveProtection} AdaptiveProtection */ - AdaptiveProtection.fromObject = function fromObject(object) { + AdaptiveProtection.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.AdaptiveProtection) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.AdaptiveProtection(); if (object.confidence != null) message.confidence = Number(object.confidence); @@ -6862,7 +7149,7 @@ function Attack(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6947,9 +7234,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Attack.decode = function decode(reader, length, error) { + Attack.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Attack(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6969,7 +7260,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7000,9 +7291,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Attack.verify = function verify(message) { + Attack.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.volumePps != null && message.hasOwnProperty("volumePps")) if (!$util.isInteger(message.volumePps)) return "volumePps: integer expected"; @@ -7023,9 +7318,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Attack} Attack */ - Attack.fromObject = function fromObject(object) { + Attack.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Attack) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Attack(); if (object.volumePps != null) message.volumePps = object.volumePps | 0; @@ -7115,7 +7414,7 @@ this.infoTypes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7201,9 +7500,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CloudDlpDataProfile.decode = function decode(reader, length, error) { + CloudDlpDataProfile.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CloudDlpDataProfile(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7221,11 +7524,11 @@ case 3: { if (!(message.infoTypes && message.infoTypes.length)) message.infoTypes = []; - message.infoTypes.push($root.google.cloud.securitycenter.v1.InfoType.decode(reader, reader.uint32())); + message.infoTypes.push($root.google.cloud.securitycenter.v1.InfoType.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7256,9 +7559,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CloudDlpDataProfile.verify = function verify(message) { + CloudDlpDataProfile.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.dataProfile != null && message.hasOwnProperty("dataProfile")) if (!$util.isString(message.dataProfile)) return "dataProfile: string expected"; @@ -7275,7 +7582,7 @@ if (!Array.isArray(message.infoTypes)) return "infoTypes: array expected"; for (var i = 0; i < message.infoTypes.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.InfoType.verify(message.infoTypes[i]); + var error = $root.google.cloud.securitycenter.v1.InfoType.verify(message.infoTypes[i], long + 1); if (error) return "infoTypes." + error; } @@ -7291,9 +7598,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CloudDlpDataProfile} CloudDlpDataProfile */ - CloudDlpDataProfile.fromObject = function fromObject(object) { + CloudDlpDataProfile.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CloudDlpDataProfile) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CloudDlpDataProfile(); if (object.dataProfile != null) message.dataProfile = String(object.dataProfile); @@ -7324,7 +7635,7 @@ for (var i = 0; i < object.infoTypes.length; ++i) { if (typeof object.infoTypes[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.CloudDlpDataProfile.infoTypes: object expected"); - message.infoTypes[i] = $root.google.cloud.securitycenter.v1.InfoType.fromObject(object.infoTypes[i]); + message.infoTypes[i] = $root.google.cloud.securitycenter.v1.InfoType.fromObject(object.infoTypes[i], long + 1); } } return message; @@ -7428,7 +7739,7 @@ function InfoType(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7513,9 +7824,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InfoType.decode = function decode(reader, length, error) { + InfoType.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.InfoType(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7531,11 +7846,11 @@ break; } case 3: { - message.sensitivityScore = $root.google.cloud.securitycenter.v1.SensitivityScore.decode(reader, reader.uint32()); + message.sensitivityScore = $root.google.cloud.securitycenter.v1.SensitivityScore.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7566,9 +7881,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - InfoType.verify = function verify(message) { + InfoType.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -7576,7 +7895,7 @@ if (!$util.isString(message.version)) return "version: string expected"; if (message.sensitivityScore != null && message.hasOwnProperty("sensitivityScore")) { - var error = $root.google.cloud.securitycenter.v1.SensitivityScore.verify(message.sensitivityScore); + var error = $root.google.cloud.securitycenter.v1.SensitivityScore.verify(message.sensitivityScore, long + 1); if (error) return "sensitivityScore." + error; } @@ -7591,9 +7910,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.InfoType} InfoType */ - InfoType.fromObject = function fromObject(object) { + InfoType.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.InfoType) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.InfoType(); if (object.name != null) message.name = String(object.name); @@ -7602,7 +7925,7 @@ if (object.sensitivityScore != null) { if (typeof object.sensitivityScore !== "object") throw TypeError(".google.cloud.securitycenter.v1.InfoType.sensitivityScore: object expected"); - message.sensitivityScore = $root.google.cloud.securitycenter.v1.SensitivityScore.fromObject(object.sensitivityScore); + message.sensitivityScore = $root.google.cloud.securitycenter.v1.SensitivityScore.fromObject(object.sensitivityScore, long + 1); } return message; }; @@ -7683,7 +8006,7 @@ function SensitivityScore(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7748,9 +8071,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SensitivityScore.decode = function decode(reader, length, error) { + SensitivityScore.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.SensitivityScore(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7762,7 +8089,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7793,9 +8120,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SensitivityScore.verify = function verify(message) { + SensitivityScore.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.score != null && message.hasOwnProperty("score")) switch (message.score) { default: @@ -7818,9 +8149,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.SensitivityScore} SensitivityScore */ - SensitivityScore.fromObject = function fromObject(object) { + SensitivityScore.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.SensitivityScore) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.SensitivityScore(); switch (object.score) { default: @@ -7945,7 +8280,7 @@ function CloudDlpInspection(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8040,9 +8375,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CloudDlpInspection.decode = function decode(reader, length, error) { + CloudDlpInspection.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CloudDlpInspection(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8066,7 +8405,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8097,9 +8436,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CloudDlpInspection.verify = function verify(message) { + CloudDlpInspection.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.inspectJob != null && message.hasOwnProperty("inspectJob")) if (!$util.isString(message.inspectJob)) return "inspectJob: string expected"; @@ -8123,9 +8466,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CloudDlpInspection} CloudDlpInspection */ - CloudDlpInspection.fromObject = function fromObject(object) { + CloudDlpInspection.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CloudDlpInspection) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CloudDlpInspection(); if (object.inspectJob != null) message.inspectJob = String(object.inspectJob); @@ -8234,7 +8581,7 @@ this.ids = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8320,9 +8667,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Compliance.decode = function decode(reader, length, error) { + Compliance.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Compliance(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8344,7 +8695,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8375,9 +8726,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Compliance.verify = function verify(message) { + Compliance.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.standard != null && message.hasOwnProperty("standard")) if (!$util.isString(message.standard)) return "standard: string expected"; @@ -8402,9 +8757,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Compliance} Compliance */ - Compliance.fromObject = function fromObject(object) { + Compliance.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Compliance) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Compliance(); if (object.standard != null) message.standard = String(object.standard); @@ -8504,7 +8863,7 @@ function Connection(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8609,9 +8968,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Connection.decode = function decode(reader, length, error) { + Connection.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Connection(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8639,7 +9002,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8670,9 +9033,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Connection.verify = function verify(message) { + Connection.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.destinationIp != null && message.hasOwnProperty("destinationIp")) if (!$util.isString(message.destinationIp)) return "destinationIp: string expected"; @@ -8708,9 +9075,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Connection} Connection */ - Connection.fromObject = function fromObject(object) { + Connection.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Connection) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Connection(); if (object.destinationIp != null) message.destinationIp = String(object.destinationIp); @@ -8860,7 +9231,7 @@ this.contacts = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8926,9 +9297,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContactDetails.decode = function decode(reader, length, error) { + ContactDetails.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ContactDetails(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8938,11 +9313,11 @@ case 1: { if (!(message.contacts && message.contacts.length)) message.contacts = []; - message.contacts.push($root.google.cloud.securitycenter.v1.Contact.decode(reader, reader.uint32())); + message.contacts.push($root.google.cloud.securitycenter.v1.Contact.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8973,14 +9348,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ContactDetails.verify = function verify(message) { + ContactDetails.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.contacts != null && message.hasOwnProperty("contacts")) { if (!Array.isArray(message.contacts)) return "contacts: array expected"; for (var i = 0; i < message.contacts.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Contact.verify(message.contacts[i]); + var error = $root.google.cloud.securitycenter.v1.Contact.verify(message.contacts[i], long + 1); if (error) return "contacts." + error; } @@ -8996,9 +9375,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ContactDetails} ContactDetails */ - ContactDetails.fromObject = function fromObject(object) { + ContactDetails.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ContactDetails) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ContactDetails(); if (object.contacts) { if (!Array.isArray(object.contacts)) @@ -9007,7 +9390,7 @@ for (var i = 0; i < object.contacts.length; ++i) { if (typeof object.contacts[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ContactDetails.contacts: object expected"); - message.contacts[i] = $root.google.cloud.securitycenter.v1.Contact.fromObject(object.contacts[i]); + message.contacts[i] = $root.google.cloud.securitycenter.v1.Contact.fromObject(object.contacts[i], long + 1); } } return message; @@ -9085,7 +9468,7 @@ function Contact(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9150,9 +9533,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Contact.decode = function decode(reader, length, error) { + Contact.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Contact(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9164,7 +9551,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9195,9 +9582,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Contact.verify = function verify(message) { + Contact.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.email != null && message.hasOwnProperty("email")) if (!$util.isString(message.email)) return "email: string expected"; @@ -9212,9 +9603,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Contact} Contact */ - Contact.fromObject = function fromObject(object) { + Contact.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Contact) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Contact(); if (object.email != null) message.email = String(object.email); @@ -9295,7 +9690,7 @@ this.labels = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9401,9 +9796,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Container.decode = function decode(reader, length, error) { + Container.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Container(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9425,15 +9824,15 @@ case 4: { if (!(message.labels && message.labels.length)) message.labels = []; - message.labels.push($root.google.cloud.securitycenter.v1.Label.decode(reader, reader.uint32())); + message.labels.push($root.google.cloud.securitycenter.v1.Label.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9464,9 +9863,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Container.verify = function verify(message) { + Container.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -9480,13 +9883,13 @@ if (!Array.isArray(message.labels)) return "labels: array expected"; for (var i = 0; i < message.labels.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Label.verify(message.labels[i]); + var error = $root.google.cloud.securitycenter.v1.Label.verify(message.labels[i], long + 1); if (error) return "labels." + error; } } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } @@ -9501,9 +9904,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Container} Container */ - Container.fromObject = function fromObject(object) { + Container.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Container) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Container(); if (object.name != null) message.name = String(object.name); @@ -9518,13 +9925,13 @@ for (var i = 0; i < object.labels.length; ++i) { if (typeof object.labels[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Container.labels: object expected"); - message.labels[i] = $root.google.cloud.securitycenter.v1.Label.fromObject(object.labels[i]); + message.labels[i] = $root.google.cloud.securitycenter.v1.Label.fromObject(object.labels[i], long + 1); } } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.Container.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } return message; }; @@ -9616,7 +10023,7 @@ function Label(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9691,9 +10098,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Label.decode = function decode(reader, length, error) { + Label.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Label(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9709,7 +10120,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9740,9 +10151,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Label.verify = function verify(message) { + Label.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -9760,9 +10175,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Label} Label */ - Label.fromObject = function fromObject(object) { + Label.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Label) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Label(); if (object.name != null) message.name = String(object.name); @@ -9850,7 +10269,7 @@ this.grantees = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9966,9 +10385,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Database.decode = function decode(reader, length, error) { + Database.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Database(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10002,7 +10425,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10033,9 +10456,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Database.verify = function verify(message) { + Database.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -10069,9 +10496,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Database} Database */ - Database.fromObject = function fromObject(object) { + Database.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Database) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Database(); if (object.name != null) message.name = String(object.name); @@ -10187,7 +10618,7 @@ function EffectiveEventThreatDetectionCustomModule(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10302,9 +10733,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EffectiveEventThreatDetectionCustomModule.decode = function decode(reader, length, error) { + EffectiveEventThreatDetectionCustomModule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.EffectiveEventThreatDetectionCustomModule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10316,7 +10751,7 @@ break; } case 2: { - message.config = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + message.config = $root.google.protobuf.Struct.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -10336,7 +10771,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10367,14 +10802,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EffectiveEventThreatDetectionCustomModule.verify = function verify(message) { + EffectiveEventThreatDetectionCustomModule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.config != null && message.hasOwnProperty("config")) { - var error = $root.google.protobuf.Struct.verify(message.config); + var error = $root.google.protobuf.Struct.verify(message.config, long + 1); if (error) return "config." + error; } @@ -10407,16 +10846,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.EffectiveEventThreatDetectionCustomModule} EffectiveEventThreatDetectionCustomModule */ - EffectiveEventThreatDetectionCustomModule.fromObject = function fromObject(object) { + EffectiveEventThreatDetectionCustomModule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.EffectiveEventThreatDetectionCustomModule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.EffectiveEventThreatDetectionCustomModule(); if (object.name != null) message.name = String(object.name); if (object.config != null) { if (typeof object.config !== "object") throw TypeError(".google.cloud.securitycenter.v1.EffectiveEventThreatDetectionCustomModule.config: object expected"); - message.config = $root.google.protobuf.Struct.fromObject(object.config); + message.config = $root.google.protobuf.Struct.fromObject(object.config, long + 1); } switch (object.enablementState) { default: @@ -10551,7 +10994,7 @@ function EffectiveSecurityHealthAnalyticsCustomModule(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10646,9 +11089,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EffectiveSecurityHealthAnalyticsCustomModule.decode = function decode(reader, length, error) { + EffectiveSecurityHealthAnalyticsCustomModule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.EffectiveSecurityHealthAnalyticsCustomModule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10660,7 +11107,7 @@ break; } case 2: { - message.customConfig = $root.google.cloud.securitycenter.v1.CustomConfig.decode(reader, reader.uint32()); + message.customConfig = $root.google.cloud.securitycenter.v1.CustomConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -10672,7 +11119,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10703,14 +11150,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EffectiveSecurityHealthAnalyticsCustomModule.verify = function verify(message) { + EffectiveSecurityHealthAnalyticsCustomModule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.customConfig != null && message.hasOwnProperty("customConfig")) { - var error = $root.google.cloud.securitycenter.v1.CustomConfig.verify(message.customConfig); + var error = $root.google.cloud.securitycenter.v1.CustomConfig.verify(message.customConfig, long + 1); if (error) return "customConfig." + error; } @@ -10737,16 +11188,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.EffectiveSecurityHealthAnalyticsCustomModule} EffectiveSecurityHealthAnalyticsCustomModule */ - EffectiveSecurityHealthAnalyticsCustomModule.fromObject = function fromObject(object) { + EffectiveSecurityHealthAnalyticsCustomModule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.EffectiveSecurityHealthAnalyticsCustomModule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.EffectiveSecurityHealthAnalyticsCustomModule(); if (object.name != null) message.name = String(object.name); if (object.customConfig != null) { if (typeof object.customConfig !== "object") throw TypeError(".google.cloud.securitycenter.v1.EffectiveSecurityHealthAnalyticsCustomModule.customConfig: object expected"); - message.customConfig = $root.google.cloud.securitycenter.v1.CustomConfig.fromObject(object.customConfig); + message.customConfig = $root.google.cloud.securitycenter.v1.CustomConfig.fromObject(object.customConfig, long + 1); } switch (object.enablementState) { default: @@ -10873,7 +11328,7 @@ function CustomConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10988,9 +11443,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomConfig.decode = function decode(reader, length, error) { + CustomConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CustomConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10998,15 +11457,15 @@ break; switch (tag >>> 3) { case 1: { - message.predicate = $root.google.type.Expr.decode(reader, reader.uint32()); + message.predicate = $root.google.type.Expr.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.customOutput = $root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.decode(reader, reader.uint32()); + message.customOutput = $root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.resourceSelector = $root.google.cloud.securitycenter.v1.CustomConfig.ResourceSelector.decode(reader, reader.uint32()); + message.resourceSelector = $root.google.cloud.securitycenter.v1.CustomConfig.ResourceSelector.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -11022,7 +11481,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11053,21 +11512,25 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CustomConfig.verify = function verify(message) { + CustomConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.predicate != null && message.hasOwnProperty("predicate")) { - var error = $root.google.type.Expr.verify(message.predicate); + var error = $root.google.type.Expr.verify(message.predicate, long + 1); if (error) return "predicate." + error; } if (message.customOutput != null && message.hasOwnProperty("customOutput")) { - var error = $root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.verify(message.customOutput); + var error = $root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.verify(message.customOutput, long + 1); if (error) return "customOutput." + error; } if (message.resourceSelector != null && message.hasOwnProperty("resourceSelector")) { - var error = $root.google.cloud.securitycenter.v1.CustomConfig.ResourceSelector.verify(message.resourceSelector); + var error = $root.google.cloud.securitycenter.v1.CustomConfig.ResourceSelector.verify(message.resourceSelector, long + 1); if (error) return "resourceSelector." + error; } @@ -11099,24 +11562,28 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CustomConfig} CustomConfig */ - CustomConfig.fromObject = function fromObject(object) { + CustomConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CustomConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CustomConfig(); if (object.predicate != null) { if (typeof object.predicate !== "object") throw TypeError(".google.cloud.securitycenter.v1.CustomConfig.predicate: object expected"); - message.predicate = $root.google.type.Expr.fromObject(object.predicate); + message.predicate = $root.google.type.Expr.fromObject(object.predicate, long + 1); } if (object.customOutput != null) { if (typeof object.customOutput !== "object") throw TypeError(".google.cloud.securitycenter.v1.CustomConfig.customOutput: object expected"); - message.customOutput = $root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.fromObject(object.customOutput); + message.customOutput = $root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.fromObject(object.customOutput, long + 1); } if (object.resourceSelector != null) { if (typeof object.resourceSelector !== "object") throw TypeError(".google.cloud.securitycenter.v1.CustomConfig.resourceSelector: object expected"); - message.resourceSelector = $root.google.cloud.securitycenter.v1.CustomConfig.ResourceSelector.fromObject(object.resourceSelector); + message.resourceSelector = $root.google.cloud.securitycenter.v1.CustomConfig.ResourceSelector.fromObject(object.resourceSelector, long + 1); } switch (object.severity) { default: @@ -11236,7 +11703,7 @@ this.properties = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11302,9 +11769,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomOutputSpec.decode = function decode(reader, length, error) { + CustomOutputSpec.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11314,11 +11785,11 @@ case 1: { if (!(message.properties && message.properties.length)) message.properties = []; - message.properties.push($root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.Property.decode(reader, reader.uint32())); + message.properties.push($root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.Property.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11349,14 +11820,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CustomOutputSpec.verify = function verify(message) { + CustomOutputSpec.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.properties != null && message.hasOwnProperty("properties")) { if (!Array.isArray(message.properties)) return "properties: array expected"; for (var i = 0; i < message.properties.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.Property.verify(message.properties[i]); + var error = $root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.Property.verify(message.properties[i], long + 1); if (error) return "properties." + error; } @@ -11372,9 +11847,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec} CustomOutputSpec */ - CustomOutputSpec.fromObject = function fromObject(object) { + CustomOutputSpec.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec(); if (object.properties) { if (!Array.isArray(object.properties)) @@ -11383,7 +11862,7 @@ for (var i = 0; i < object.properties.length; ++i) { if (typeof object.properties[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.properties: object expected"); - message.properties[i] = $root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.Property.fromObject(object.properties[i]); + message.properties[i] = $root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.Property.fromObject(object.properties[i], long + 1); } } return message; @@ -11459,7 +11938,7 @@ function Property(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11534,9 +12013,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Property.decode = function decode(reader, length, error) { + Property.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.Property(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11548,11 +12031,11 @@ break; } case 2: { - message.valueExpression = $root.google.type.Expr.decode(reader, reader.uint32()); + message.valueExpression = $root.google.type.Expr.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11583,14 +12066,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Property.verify = function verify(message) { + Property.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.valueExpression != null && message.hasOwnProperty("valueExpression")) { - var error = $root.google.type.Expr.verify(message.valueExpression); + var error = $root.google.type.Expr.verify(message.valueExpression, long + 1); if (error) return "valueExpression." + error; } @@ -11605,16 +12092,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.Property} Property */ - Property.fromObject = function fromObject(object) { + Property.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.Property) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.Property(); if (object.name != null) message.name = String(object.name); if (object.valueExpression != null) { if (typeof object.valueExpression !== "object") throw TypeError(".google.cloud.securitycenter.v1.CustomConfig.CustomOutputSpec.Property.valueExpression: object expected"); - message.valueExpression = $root.google.type.Expr.fromObject(object.valueExpression); + message.valueExpression = $root.google.type.Expr.fromObject(object.valueExpression, long + 1); } return message; }; @@ -11696,7 +12187,7 @@ this.resourceTypes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11762,9 +12253,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceSelector.decode = function decode(reader, length, error) { + ResourceSelector.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CustomConfig.ResourceSelector(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11778,7 +12273,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11809,9 +12304,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceSelector.verify = function verify(message) { + ResourceSelector.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceTypes != null && message.hasOwnProperty("resourceTypes")) { if (!Array.isArray(message.resourceTypes)) return "resourceTypes: array expected"; @@ -11830,9 +12329,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CustomConfig.ResourceSelector} ResourceSelector */ - ResourceSelector.fromObject = function fromObject(object) { + ResourceSelector.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CustomConfig.ResourceSelector) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CustomConfig.ResourceSelector(); if (object.resourceTypes) { if (!Array.isArray(object.resourceTypes)) @@ -11947,7 +12450,7 @@ function EventThreatDetectionCustomModule(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12092,9 +12595,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EventThreatDetectionCustomModule.decode = function decode(reader, length, error) { + EventThreatDetectionCustomModule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12106,7 +12613,7 @@ break; } case 2: { - message.config = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + message.config = $root.google.protobuf.Struct.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -12130,7 +12637,7 @@ break; } case 8: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { @@ -12138,7 +12645,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12169,14 +12676,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EventThreatDetectionCustomModule.verify = function verify(message) { + EventThreatDetectionCustomModule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.config != null && message.hasOwnProperty("config")) { - var error = $root.google.protobuf.Struct.verify(message.config); + var error = $root.google.protobuf.Struct.verify(message.config, long + 1); if (error) return "config." + error; } @@ -12203,7 +12714,7 @@ if (!$util.isString(message.description)) return "description: string expected"; if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -12221,16 +12732,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.EventThreatDetectionCustomModule} EventThreatDetectionCustomModule */ - EventThreatDetectionCustomModule.fromObject = function fromObject(object) { + EventThreatDetectionCustomModule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule(); if (object.name != null) message.name = String(object.name); if (object.config != null) { if (typeof object.config !== "object") throw TypeError(".google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.config: object expected"); - message.config = $root.google.protobuf.Struct.fromObject(object.config); + message.config = $root.google.protobuf.Struct.fromObject(object.config, long + 1); } if (object.ancestorModule != null) message.ancestorModule = String(object.ancestorModule); @@ -12267,7 +12782,7 @@ if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.lastEditor != null) message.lastEditor = String(object.lastEditor); @@ -12387,7 +12902,7 @@ this.errors = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12453,9 +12968,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomModuleValidationErrors.decode = function decode(reader, length, error) { + CustomModuleValidationErrors.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CustomModuleValidationErrors(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12465,11 +12984,11 @@ case 1: { if (!(message.errors && message.errors.length)) message.errors = []; - message.errors.push($root.google.cloud.securitycenter.v1.CustomModuleValidationError.decode(reader, reader.uint32())); + message.errors.push($root.google.cloud.securitycenter.v1.CustomModuleValidationError.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12500,14 +13019,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CustomModuleValidationErrors.verify = function verify(message) { + CustomModuleValidationErrors.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.errors != null && message.hasOwnProperty("errors")) { if (!Array.isArray(message.errors)) return "errors: array expected"; for (var i = 0; i < message.errors.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.CustomModuleValidationError.verify(message.errors[i]); + var error = $root.google.cloud.securitycenter.v1.CustomModuleValidationError.verify(message.errors[i], long + 1); if (error) return "errors." + error; } @@ -12523,9 +13046,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CustomModuleValidationErrors} CustomModuleValidationErrors */ - CustomModuleValidationErrors.fromObject = function fromObject(object) { + CustomModuleValidationErrors.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CustomModuleValidationErrors) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CustomModuleValidationErrors(); if (object.errors) { if (!Array.isArray(object.errors)) @@ -12534,7 +13061,7 @@ for (var i = 0; i < object.errors.length; ++i) { if (typeof object.errors[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.CustomModuleValidationErrors.errors: object expected"); - message.errors[i] = $root.google.cloud.securitycenter.v1.CustomModuleValidationError.fromObject(object.errors[i]); + message.errors[i] = $root.google.cloud.securitycenter.v1.CustomModuleValidationError.fromObject(object.errors[i], long + 1); } } return message; @@ -12615,7 +13142,7 @@ function CustomModuleValidationError(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12725,9 +13252,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomModuleValidationError.decode = function decode(reader, length, error) { + CustomModuleValidationError.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CustomModuleValidationError(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12743,15 +13274,15 @@ break; } case 3: { - message.start = $root.google.cloud.securitycenter.v1.Position.decode(reader, reader.uint32()); + message.start = $root.google.cloud.securitycenter.v1.Position.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.end = $root.google.cloud.securitycenter.v1.Position.decode(reader, reader.uint32()); + message.end = $root.google.cloud.securitycenter.v1.Position.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12782,9 +13313,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CustomModuleValidationError.verify = function verify(message) { + CustomModuleValidationError.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.description != null && message.hasOwnProperty("description")) if (!$util.isString(message.description)) @@ -12795,7 +13330,7 @@ if (message.start != null && message.hasOwnProperty("start")) { properties._start = 1; { - var error = $root.google.cloud.securitycenter.v1.Position.verify(message.start); + var error = $root.google.cloud.securitycenter.v1.Position.verify(message.start, long + 1); if (error) return "start." + error; } @@ -12803,7 +13338,7 @@ if (message.end != null && message.hasOwnProperty("end")) { properties._end = 1; { - var error = $root.google.cloud.securitycenter.v1.Position.verify(message.end); + var error = $root.google.cloud.securitycenter.v1.Position.verify(message.end, long + 1); if (error) return "end." + error; } @@ -12819,9 +13354,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CustomModuleValidationError} CustomModuleValidationError */ - CustomModuleValidationError.fromObject = function fromObject(object) { + CustomModuleValidationError.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CustomModuleValidationError) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CustomModuleValidationError(); if (object.description != null) message.description = String(object.description); @@ -12830,12 +13369,12 @@ if (object.start != null) { if (typeof object.start !== "object") throw TypeError(".google.cloud.securitycenter.v1.CustomModuleValidationError.start: object expected"); - message.start = $root.google.cloud.securitycenter.v1.Position.fromObject(object.start); + message.start = $root.google.cloud.securitycenter.v1.Position.fromObject(object.start, long + 1); } if (object.end != null) { if (typeof object.end !== "object") throw TypeError(".google.cloud.securitycenter.v1.CustomModuleValidationError.end: object expected"); - message.end = $root.google.cloud.securitycenter.v1.Position.fromObject(object.end); + message.end = $root.google.cloud.securitycenter.v1.Position.fromObject(object.end, long + 1); } return message; }; @@ -12924,7 +13463,7 @@ function Position(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12999,9 +13538,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Position.decode = function decode(reader, length, error) { + Position.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Position(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13017,7 +13560,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13048,9 +13591,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Position.verify = function verify(message) { + Position.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.lineNumber != null && message.hasOwnProperty("lineNumber")) if (!$util.isInteger(message.lineNumber)) return "lineNumber: integer expected"; @@ -13068,9 +13615,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Position} Position */ - Position.fromObject = function fromObject(object) { + Position.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Position) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Position(); if (object.lineNumber != null) message.lineNumber = object.lineNumber | 0; @@ -13156,7 +13707,7 @@ this.targets = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13243,9 +13794,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Exfiltration.decode = function decode(reader, length, error) { + Exfiltration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Exfiltration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13255,13 +13810,13 @@ case 1: { if (!(message.sources && message.sources.length)) message.sources = []; - message.sources.push($root.google.cloud.securitycenter.v1.ExfilResource.decode(reader, reader.uint32())); + message.sources.push($root.google.cloud.securitycenter.v1.ExfilResource.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.targets && message.targets.length)) message.targets = []; - message.targets.push($root.google.cloud.securitycenter.v1.ExfilResource.decode(reader, reader.uint32())); + message.targets.push($root.google.cloud.securitycenter.v1.ExfilResource.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -13269,7 +13824,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13300,14 +13855,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Exfiltration.verify = function verify(message) { + Exfiltration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.sources != null && message.hasOwnProperty("sources")) { if (!Array.isArray(message.sources)) return "sources: array expected"; for (var i = 0; i < message.sources.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.ExfilResource.verify(message.sources[i]); + var error = $root.google.cloud.securitycenter.v1.ExfilResource.verify(message.sources[i], long + 1); if (error) return "sources." + error; } @@ -13316,7 +13875,7 @@ if (!Array.isArray(message.targets)) return "targets: array expected"; for (var i = 0; i < message.targets.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.ExfilResource.verify(message.targets[i]); + var error = $root.google.cloud.securitycenter.v1.ExfilResource.verify(message.targets[i], long + 1); if (error) return "targets." + error; } @@ -13335,9 +13894,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Exfiltration} Exfiltration */ - Exfiltration.fromObject = function fromObject(object) { + Exfiltration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Exfiltration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Exfiltration(); if (object.sources) { if (!Array.isArray(object.sources)) @@ -13346,7 +13909,7 @@ for (var i = 0; i < object.sources.length; ++i) { if (typeof object.sources[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Exfiltration.sources: object expected"); - message.sources[i] = $root.google.cloud.securitycenter.v1.ExfilResource.fromObject(object.sources[i]); + message.sources[i] = $root.google.cloud.securitycenter.v1.ExfilResource.fromObject(object.sources[i], long + 1); } } if (object.targets) { @@ -13356,7 +13919,7 @@ for (var i = 0; i < object.targets.length; ++i) { if (typeof object.targets[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Exfiltration.targets: object expected"); - message.targets[i] = $root.google.cloud.securitycenter.v1.ExfilResource.fromObject(object.targets[i]); + message.targets[i] = $root.google.cloud.securitycenter.v1.ExfilResource.fromObject(object.targets[i], long + 1); } } if (object.totalExfiltratedBytes != null) @@ -13463,7 +14026,7 @@ this.components = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13539,9 +14102,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExfilResource.decode = function decode(reader, length, error) { + ExfilResource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ExfilResource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13559,7 +14126,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13590,9 +14157,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExfilResource.verify = function verify(message) { + ExfilResource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -13614,9 +14185,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ExfilResource} ExfilResource */ - ExfilResource.fromObject = function fromObject(object) { + ExfilResource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ExfilResource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ExfilResource(); if (object.name != null) message.name = String(object.name); @@ -13717,7 +14292,7 @@ function ExternalExposure(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13892,9 +14467,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExternalExposure.decode = function decode(reader, length, error) { + ExternalExposure.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ExternalExposure(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13950,7 +14529,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13981,9 +14560,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExternalExposure.verify = function verify(message) { + ExternalExposure.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.privateIpAddress != null && message.hasOwnProperty("privateIpAddress")) if (!$util.isString(message.privateIpAddress)) return "privateIpAddress: string expected"; @@ -14031,9 +14614,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ExternalExposure} ExternalExposure */ - ExternalExposure.fromObject = function fromObject(object) { + ExternalExposure.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ExternalExposure) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ExternalExposure(); if (object.privateIpAddress != null) message.privateIpAddress = String(object.privateIpAddress); @@ -14176,7 +14763,7 @@ this.assignees = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14342,9 +14929,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExternalSystem.decode = function decode(reader, length, error) { + ExternalSystem.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ExternalSystem(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14370,7 +14961,7 @@ break; } case 5: { - message.externalSystemUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.externalSystemUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { @@ -14382,23 +14973,23 @@ break; } case 9: { - message.caseSla = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.caseSla = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { - message.caseCreateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.caseCreateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 11: { - message.caseCloseTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.caseCloseTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { - message.ticketInfo = $root.google.cloud.securitycenter.v1.ExternalSystem.TicketInfo.decode(reader, reader.uint32()); + message.ticketInfo = $root.google.cloud.securitycenter.v1.ExternalSystem.TicketInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14429,9 +15020,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExternalSystem.verify = function verify(message) { + ExternalSystem.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -14449,7 +15044,7 @@ if (!$util.isString(message.status)) return "status: string expected"; if (message.externalSystemUpdateTime != null && message.hasOwnProperty("externalSystemUpdateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.externalSystemUpdateTime); + var error = $root.google.protobuf.Timestamp.verify(message.externalSystemUpdateTime, long + 1); if (error) return "externalSystemUpdateTime." + error; } @@ -14460,22 +15055,22 @@ if (!$util.isString(message.casePriority)) return "casePriority: string expected"; if (message.caseSla != null && message.hasOwnProperty("caseSla")) { - var error = $root.google.protobuf.Timestamp.verify(message.caseSla); + var error = $root.google.protobuf.Timestamp.verify(message.caseSla, long + 1); if (error) return "caseSla." + error; } if (message.caseCreateTime != null && message.hasOwnProperty("caseCreateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.caseCreateTime); + var error = $root.google.protobuf.Timestamp.verify(message.caseCreateTime, long + 1); if (error) return "caseCreateTime." + error; } if (message.caseCloseTime != null && message.hasOwnProperty("caseCloseTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.caseCloseTime); + var error = $root.google.protobuf.Timestamp.verify(message.caseCloseTime, long + 1); if (error) return "caseCloseTime." + error; } if (message.ticketInfo != null && message.hasOwnProperty("ticketInfo")) { - var error = $root.google.cloud.securitycenter.v1.ExternalSystem.TicketInfo.verify(message.ticketInfo); + var error = $root.google.cloud.securitycenter.v1.ExternalSystem.TicketInfo.verify(message.ticketInfo, long + 1); if (error) return "ticketInfo." + error; } @@ -14490,9 +15085,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ExternalSystem} ExternalSystem */ - ExternalSystem.fromObject = function fromObject(object) { + ExternalSystem.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ExternalSystem) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ExternalSystem(); if (object.name != null) message.name = String(object.name); @@ -14510,7 +15109,7 @@ if (object.externalSystemUpdateTime != null) { if (typeof object.externalSystemUpdateTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.ExternalSystem.externalSystemUpdateTime: object expected"); - message.externalSystemUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.externalSystemUpdateTime); + message.externalSystemUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.externalSystemUpdateTime, long + 1); } if (object.caseUri != null) message.caseUri = String(object.caseUri); @@ -14519,22 +15118,22 @@ if (object.caseSla != null) { if (typeof object.caseSla !== "object") throw TypeError(".google.cloud.securitycenter.v1.ExternalSystem.caseSla: object expected"); - message.caseSla = $root.google.protobuf.Timestamp.fromObject(object.caseSla); + message.caseSla = $root.google.protobuf.Timestamp.fromObject(object.caseSla, long + 1); } if (object.caseCreateTime != null) { if (typeof object.caseCreateTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.ExternalSystem.caseCreateTime: object expected"); - message.caseCreateTime = $root.google.protobuf.Timestamp.fromObject(object.caseCreateTime); + message.caseCreateTime = $root.google.protobuf.Timestamp.fromObject(object.caseCreateTime, long + 1); } if (object.caseCloseTime != null) { if (typeof object.caseCloseTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.ExternalSystem.caseCloseTime: object expected"); - message.caseCloseTime = $root.google.protobuf.Timestamp.fromObject(object.caseCloseTime); + message.caseCloseTime = $root.google.protobuf.Timestamp.fromObject(object.caseCloseTime, long + 1); } if (object.ticketInfo != null) { if (typeof object.ticketInfo !== "object") throw TypeError(".google.cloud.securitycenter.v1.ExternalSystem.ticketInfo: object expected"); - message.ticketInfo = $root.google.cloud.securitycenter.v1.ExternalSystem.TicketInfo.fromObject(object.ticketInfo); + message.ticketInfo = $root.google.cloud.securitycenter.v1.ExternalSystem.TicketInfo.fromObject(object.ticketInfo, long + 1); } return message; }; @@ -14645,7 +15244,7 @@ function TicketInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14760,9 +15359,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TicketInfo.decode = function decode(reader, length, error) { + TicketInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ExternalSystem.TicketInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14790,11 +15393,11 @@ break; } case 6: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14825,9 +15428,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TicketInfo.verify = function verify(message) { + TicketInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -14844,7 +15451,7 @@ if (!$util.isString(message.status)) return "status: string expected"; if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -14859,9 +15466,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ExternalSystem.TicketInfo} TicketInfo */ - TicketInfo.fromObject = function fromObject(object) { + TicketInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ExternalSystem.TicketInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ExternalSystem.TicketInfo(); if (object.id != null) message.id = String(object.id); @@ -14876,7 +15487,7 @@ if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.ExternalSystem.TicketInfo.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } return message; }; @@ -14975,7 +15586,7 @@ function File(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15100,9 +15711,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - File.decode = function decode(reader, length, error) { + File.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.File(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15134,11 +15749,11 @@ break; } case 7: { - message.diskPath = $root.google.cloud.securitycenter.v1.File.DiskPath.decode(reader, reader.uint32()); + message.diskPath = $root.google.cloud.securitycenter.v1.File.DiskPath.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15169,9 +15784,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - File.verify = function verify(message) { + File.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.path != null && message.hasOwnProperty("path")) if (!$util.isString(message.path)) return "path: string expected"; @@ -15191,7 +15810,7 @@ if (!$util.isString(message.contents)) return "contents: string expected"; if (message.diskPath != null && message.hasOwnProperty("diskPath")) { - var error = $root.google.cloud.securitycenter.v1.File.DiskPath.verify(message.diskPath); + var error = $root.google.cloud.securitycenter.v1.File.DiskPath.verify(message.diskPath, long + 1); if (error) return "diskPath." + error; } @@ -15206,9 +15825,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.File} File */ - File.fromObject = function fromObject(object) { + File.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.File) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.File(); if (object.path != null) message.path = String(object.path); @@ -15239,7 +15862,7 @@ if (object.diskPath != null) { if (typeof object.diskPath !== "object") throw TypeError(".google.cloud.securitycenter.v1.File.diskPath: object expected"); - message.diskPath = $root.google.cloud.securitycenter.v1.File.DiskPath.fromObject(object.diskPath); + message.diskPath = $root.google.cloud.securitycenter.v1.File.DiskPath.fromObject(object.diskPath, long + 1); } return message; }; @@ -15344,7 +15967,7 @@ function DiskPath(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15419,9 +16042,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DiskPath.decode = function decode(reader, length, error) { + DiskPath.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.File.DiskPath(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15437,7 +16064,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15468,9 +16095,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DiskPath.verify = function verify(message) { + DiskPath.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.partitionUuid != null && message.hasOwnProperty("partitionUuid")) if (!$util.isString(message.partitionUuid)) return "partitionUuid: string expected"; @@ -15488,9 +16119,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.File.DiskPath} DiskPath */ - DiskPath.fromObject = function fromObject(object) { + DiskPath.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.File.DiskPath) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.File.DiskPath(); if (object.partitionUuid != null) message.partitionUuid = String(object.partitionUuid); @@ -15639,7 +16274,7 @@ this.groupMemberships = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16233,9 +16868,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Finding.decode = function decode(reader, length, error) { + Finding.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Finding(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -16279,26 +16918,28 @@ key = reader.string(); break; case 2: - value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.sourceProperties, key); message.sourceProperties[key] = value; break; } case 8: { - message.securityMarks = $root.google.cloud.securitycenter.v1.SecurityMarks.decode(reader, reader.uint32()); + message.securityMarks = $root.google.cloud.securitycenter.v1.SecurityMarks.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.eventTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.eventTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 12: { @@ -16318,15 +16959,15 @@ break; } case 18: { - message.indicator = $root.google.cloud.securitycenter.v1.Indicator.decode(reader, reader.uint32()); + message.indicator = $root.google.cloud.securitycenter.v1.Indicator.decode(reader, reader.uint32(), undefined, long + 1); break; } case 20: { - message.vulnerability = $root.google.cloud.securitycenter.v1.Vulnerability.decode(reader, reader.uint32()); + message.vulnerability = $root.google.cloud.securitycenter.v1.Vulnerability.decode(reader, reader.uint32(), undefined, long + 1); break; } case 21: { - message.muteUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.muteUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 22: { @@ -16342,28 +16983,30 @@ key = reader.string(); break; case 2: - value = $root.google.cloud.securitycenter.v1.ExternalSystem.decode(reader, reader.uint32()); + value = $root.google.cloud.securitycenter.v1.ExternalSystem.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.externalSystems, key); message.externalSystems[key] = value; break; } case 25: { - message.mitreAttack = $root.google.cloud.securitycenter.v1.MitreAttack.decode(reader, reader.uint32()); + message.mitreAttack = $root.google.cloud.securitycenter.v1.MitreAttack.decode(reader, reader.uint32(), undefined, long + 1); break; } case 26: { - message.access = $root.google.cloud.securitycenter.v1.Access.decode(reader, reader.uint32()); + message.access = $root.google.cloud.securitycenter.v1.Access.decode(reader, reader.uint32(), undefined, long + 1); break; } case 31: { if (!(message.connections && message.connections.length)) message.connections = []; - message.connections.push($root.google.cloud.securitycenter.v1.Connection.decode(reader, reader.uint32())); + message.connections.push($root.google.cloud.securitycenter.v1.Connection.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 28: { @@ -16371,13 +17014,13 @@ break; } case 61: { - message.muteInfo = $root.google.cloud.securitycenter.v1.Finding.MuteInfo.decode(reader, reader.uint32()); + message.muteInfo = $root.google.cloud.securitycenter.v1.Finding.MuteInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } case 30: { if (!(message.processes && message.processes.length)) message.processes = []; - message.processes.push($root.google.cloud.securitycenter.v1.Process.decode(reader, reader.uint32())); + message.processes.push($root.google.cloud.securitycenter.v1.Process.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 33: { @@ -16393,20 +17036,22 @@ key = reader.string(); break; case 2: - value = $root.google.cloud.securitycenter.v1.ContactDetails.decode(reader, reader.uint32()); + value = $root.google.cloud.securitycenter.v1.ContactDetails.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.contacts, key); message.contacts[key] = value; break; } case 34: { if (!(message.compliances && message.compliances.length)) message.compliances = []; - message.compliances.push($root.google.cloud.securitycenter.v1.Compliance.decode(reader, reader.uint32())); + message.compliances.push($root.google.cloud.securitycenter.v1.Compliance.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 36: { @@ -16418,13 +17063,13 @@ break; } case 38: { - message.exfiltration = $root.google.cloud.securitycenter.v1.Exfiltration.decode(reader, reader.uint32()); + message.exfiltration = $root.google.cloud.securitycenter.v1.Exfiltration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 39: { if (!(message.iamBindings && message.iamBindings.length)) message.iamBindings = []; - message.iamBindings.push($root.google.cloud.securitycenter.v1.IamBinding.decode(reader, reader.uint32())); + message.iamBindings.push($root.google.cloud.securitycenter.v1.IamBinding.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 40: { @@ -16438,97 +17083,97 @@ case 42: { if (!(message.containers && message.containers.length)) message.containers = []; - message.containers.push($root.google.cloud.securitycenter.v1.Container.decode(reader, reader.uint32())); + message.containers.push($root.google.cloud.securitycenter.v1.Container.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 43: { - message.kubernetes = $root.google.cloud.securitycenter.v1.Kubernetes.decode(reader, reader.uint32()); + message.kubernetes = $root.google.cloud.securitycenter.v1.Kubernetes.decode(reader, reader.uint32(), undefined, long + 1); break; } case 44: { - message.database = $root.google.cloud.securitycenter.v1.Database.decode(reader, reader.uint32()); + message.database = $root.google.cloud.securitycenter.v1.Database.decode(reader, reader.uint32(), undefined, long + 1); break; } case 45: { - message.attackExposure = $root.google.cloud.securitycenter.v1.AttackExposure.decode(reader, reader.uint32()); + message.attackExposure = $root.google.cloud.securitycenter.v1.AttackExposure.decode(reader, reader.uint32(), undefined, long + 1); break; } case 46: { if (!(message.files && message.files.length)) message.files = []; - message.files.push($root.google.cloud.securitycenter.v1.File.decode(reader, reader.uint32())); + message.files.push($root.google.cloud.securitycenter.v1.File.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 48: { - message.cloudDlpInspection = $root.google.cloud.securitycenter.v1.CloudDlpInspection.decode(reader, reader.uint32()); + message.cloudDlpInspection = $root.google.cloud.securitycenter.v1.CloudDlpInspection.decode(reader, reader.uint32(), undefined, long + 1); break; } case 49: { - message.cloudDlpDataProfile = $root.google.cloud.securitycenter.v1.CloudDlpDataProfile.decode(reader, reader.uint32()); + message.cloudDlpDataProfile = $root.google.cloud.securitycenter.v1.CloudDlpDataProfile.decode(reader, reader.uint32(), undefined, long + 1); break; } case 50: { - message.kernelRootkit = $root.google.cloud.securitycenter.v1.KernelRootkit.decode(reader, reader.uint32()); + message.kernelRootkit = $root.google.cloud.securitycenter.v1.KernelRootkit.decode(reader, reader.uint32(), undefined, long + 1); break; } case 51: { if (!(message.orgPolicies && message.orgPolicies.length)) message.orgPolicies = []; - message.orgPolicies.push($root.google.cloud.securitycenter.v1.OrgPolicy.decode(reader, reader.uint32())); + message.orgPolicies.push($root.google.cloud.securitycenter.v1.OrgPolicy.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 53: { - message.application = $root.google.cloud.securitycenter.v1.Application.decode(reader, reader.uint32()); + message.application = $root.google.cloud.securitycenter.v1.Application.decode(reader, reader.uint32(), undefined, long + 1); break; } case 55: { - message.backupDisasterRecovery = $root.google.cloud.securitycenter.v1.BackupDisasterRecovery.decode(reader, reader.uint32()); + message.backupDisasterRecovery = $root.google.cloud.securitycenter.v1.BackupDisasterRecovery.decode(reader, reader.uint32(), undefined, long + 1); break; } case 56: { - message.securityPosture = $root.google.cloud.securitycenter.v1.SecurityPosture.decode(reader, reader.uint32()); + message.securityPosture = $root.google.cloud.securitycenter.v1.SecurityPosture.decode(reader, reader.uint32(), undefined, long + 1); break; } case 57: { if (!(message.logEntries && message.logEntries.length)) message.logEntries = []; - message.logEntries.push($root.google.cloud.securitycenter.v1.LogEntry.decode(reader, reader.uint32())); + message.logEntries.push($root.google.cloud.securitycenter.v1.LogEntry.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 58: { if (!(message.loadBalancers && message.loadBalancers.length)) message.loadBalancers = []; - message.loadBalancers.push($root.google.cloud.securitycenter.v1.LoadBalancer.decode(reader, reader.uint32())); + message.loadBalancers.push($root.google.cloud.securitycenter.v1.LoadBalancer.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 59: { - message.cloudArmor = $root.google.cloud.securitycenter.v1.CloudArmor.decode(reader, reader.uint32()); + message.cloudArmor = $root.google.cloud.securitycenter.v1.CloudArmor.decode(reader, reader.uint32(), undefined, long + 1); break; } case 63: { - message.notebook = $root.google.cloud.securitycenter.v1.Notebook.decode(reader, reader.uint32()); + message.notebook = $root.google.cloud.securitycenter.v1.Notebook.decode(reader, reader.uint32(), undefined, long + 1); break; } case 64: { - message.toxicCombination = $root.google.cloud.securitycenter.v1.ToxicCombination.decode(reader, reader.uint32()); + message.toxicCombination = $root.google.cloud.securitycenter.v1.ToxicCombination.decode(reader, reader.uint32(), undefined, long + 1); break; } case 65: { if (!(message.groupMemberships && message.groupMemberships.length)) message.groupMemberships = []; - message.groupMemberships.push($root.google.cloud.securitycenter.v1.GroupMembership.decode(reader, reader.uint32())); + message.groupMemberships.push($root.google.cloud.securitycenter.v1.GroupMembership.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 77: { - message.chokepoint = $root.google.cloud.securitycenter.v1.Chokepoint.decode(reader, reader.uint32()); + message.chokepoint = $root.google.cloud.securitycenter.v1.Chokepoint.decode(reader, reader.uint32(), undefined, long + 1); break; } case 84: { - message.externalExposure = $root.google.cloud.securitycenter.v1.ExternalExposure.decode(reader, reader.uint32()); + message.externalExposure = $root.google.cloud.securitycenter.v1.ExternalExposure.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16559,9 +17204,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Finding.verify = function verify(message) { + Finding.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -16591,23 +17240,23 @@ return "sourceProperties: object expected"; var key = Object.keys(message.sourceProperties); for (var i = 0; i < key.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.sourceProperties[key[i]]); + var error = $root.google.protobuf.Value.verify(message.sourceProperties[key[i]], long + 1); if (error) return "sourceProperties." + error; } } if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) { - var error = $root.google.cloud.securitycenter.v1.SecurityMarks.verify(message.securityMarks); + var error = $root.google.cloud.securitycenter.v1.SecurityMarks.verify(message.securityMarks, long + 1); if (error) return "securityMarks." + error; } if (message.eventTime != null && message.hasOwnProperty("eventTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.eventTime); + var error = $root.google.protobuf.Timestamp.verify(message.eventTime, long + 1); if (error) return "eventTime." + error; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } @@ -16653,17 +17302,17 @@ break; } if (message.indicator != null && message.hasOwnProperty("indicator")) { - var error = $root.google.cloud.securitycenter.v1.Indicator.verify(message.indicator); + var error = $root.google.cloud.securitycenter.v1.Indicator.verify(message.indicator, long + 1); if (error) return "indicator." + error; } if (message.vulnerability != null && message.hasOwnProperty("vulnerability")) { - var error = $root.google.cloud.securitycenter.v1.Vulnerability.verify(message.vulnerability); + var error = $root.google.cloud.securitycenter.v1.Vulnerability.verify(message.vulnerability, long + 1); if (error) return "vulnerability." + error; } if (message.muteUpdateTime != null && message.hasOwnProperty("muteUpdateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.muteUpdateTime); + var error = $root.google.protobuf.Timestamp.verify(message.muteUpdateTime, long + 1); if (error) return "muteUpdateTime." + error; } @@ -16672,18 +17321,18 @@ return "externalSystems: object expected"; var key = Object.keys(message.externalSystems); for (var i = 0; i < key.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.ExternalSystem.verify(message.externalSystems[key[i]]); + var error = $root.google.cloud.securitycenter.v1.ExternalSystem.verify(message.externalSystems[key[i]], long + 1); if (error) return "externalSystems." + error; } } if (message.mitreAttack != null && message.hasOwnProperty("mitreAttack")) { - var error = $root.google.cloud.securitycenter.v1.MitreAttack.verify(message.mitreAttack); + var error = $root.google.cloud.securitycenter.v1.MitreAttack.verify(message.mitreAttack, long + 1); if (error) return "mitreAttack." + error; } if (message.access != null && message.hasOwnProperty("access")) { - var error = $root.google.cloud.securitycenter.v1.Access.verify(message.access); + var error = $root.google.cloud.securitycenter.v1.Access.verify(message.access, long + 1); if (error) return "access." + error; } @@ -16691,7 +17340,7 @@ if (!Array.isArray(message.connections)) return "connections: array expected"; for (var i = 0; i < message.connections.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Connection.verify(message.connections[i]); + var error = $root.google.cloud.securitycenter.v1.Connection.verify(message.connections[i], long + 1); if (error) return "connections." + error; } @@ -16700,7 +17349,7 @@ if (!$util.isString(message.muteInitiator)) return "muteInitiator: string expected"; if (message.muteInfo != null && message.hasOwnProperty("muteInfo")) { - var error = $root.google.cloud.securitycenter.v1.Finding.MuteInfo.verify(message.muteInfo); + var error = $root.google.cloud.securitycenter.v1.Finding.MuteInfo.verify(message.muteInfo, long + 1); if (error) return "muteInfo." + error; } @@ -16708,7 +17357,7 @@ if (!Array.isArray(message.processes)) return "processes: array expected"; for (var i = 0; i < message.processes.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Process.verify(message.processes[i]); + var error = $root.google.cloud.securitycenter.v1.Process.verify(message.processes[i], long + 1); if (error) return "processes." + error; } @@ -16718,7 +17367,7 @@ return "contacts: object expected"; var key = Object.keys(message.contacts); for (var i = 0; i < key.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.ContactDetails.verify(message.contacts[key[i]]); + var error = $root.google.cloud.securitycenter.v1.ContactDetails.verify(message.contacts[key[i]], long + 1); if (error) return "contacts." + error; } @@ -16727,7 +17376,7 @@ if (!Array.isArray(message.compliances)) return "compliances: array expected"; for (var i = 0; i < message.compliances.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Compliance.verify(message.compliances[i]); + var error = $root.google.cloud.securitycenter.v1.Compliance.verify(message.compliances[i], long + 1); if (error) return "compliances." + error; } @@ -16739,7 +17388,7 @@ if (!$util.isString(message.description)) return "description: string expected"; if (message.exfiltration != null && message.hasOwnProperty("exfiltration")) { - var error = $root.google.cloud.securitycenter.v1.Exfiltration.verify(message.exfiltration); + var error = $root.google.cloud.securitycenter.v1.Exfiltration.verify(message.exfiltration, long + 1); if (error) return "exfiltration." + error; } @@ -16747,7 +17396,7 @@ if (!Array.isArray(message.iamBindings)) return "iamBindings: array expected"; for (var i = 0; i < message.iamBindings.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.IamBinding.verify(message.iamBindings[i]); + var error = $root.google.cloud.securitycenter.v1.IamBinding.verify(message.iamBindings[i], long + 1); if (error) return "iamBindings." + error; } @@ -16762,23 +17411,23 @@ if (!Array.isArray(message.containers)) return "containers: array expected"; for (var i = 0; i < message.containers.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Container.verify(message.containers[i]); + var error = $root.google.cloud.securitycenter.v1.Container.verify(message.containers[i], long + 1); if (error) return "containers." + error; } } if (message.kubernetes != null && message.hasOwnProperty("kubernetes")) { - var error = $root.google.cloud.securitycenter.v1.Kubernetes.verify(message.kubernetes); + var error = $root.google.cloud.securitycenter.v1.Kubernetes.verify(message.kubernetes, long + 1); if (error) return "kubernetes." + error; } if (message.database != null && message.hasOwnProperty("database")) { - var error = $root.google.cloud.securitycenter.v1.Database.verify(message.database); + var error = $root.google.cloud.securitycenter.v1.Database.verify(message.database, long + 1); if (error) return "database." + error; } if (message.attackExposure != null && message.hasOwnProperty("attackExposure")) { - var error = $root.google.cloud.securitycenter.v1.AttackExposure.verify(message.attackExposure); + var error = $root.google.cloud.securitycenter.v1.AttackExposure.verify(message.attackExposure, long + 1); if (error) return "attackExposure." + error; } @@ -16786,23 +17435,23 @@ if (!Array.isArray(message.files)) return "files: array expected"; for (var i = 0; i < message.files.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.File.verify(message.files[i]); + var error = $root.google.cloud.securitycenter.v1.File.verify(message.files[i], long + 1); if (error) return "files." + error; } } if (message.cloudDlpInspection != null && message.hasOwnProperty("cloudDlpInspection")) { - var error = $root.google.cloud.securitycenter.v1.CloudDlpInspection.verify(message.cloudDlpInspection); + var error = $root.google.cloud.securitycenter.v1.CloudDlpInspection.verify(message.cloudDlpInspection, long + 1); if (error) return "cloudDlpInspection." + error; } if (message.cloudDlpDataProfile != null && message.hasOwnProperty("cloudDlpDataProfile")) { - var error = $root.google.cloud.securitycenter.v1.CloudDlpDataProfile.verify(message.cloudDlpDataProfile); + var error = $root.google.cloud.securitycenter.v1.CloudDlpDataProfile.verify(message.cloudDlpDataProfile, long + 1); if (error) return "cloudDlpDataProfile." + error; } if (message.kernelRootkit != null && message.hasOwnProperty("kernelRootkit")) { - var error = $root.google.cloud.securitycenter.v1.KernelRootkit.verify(message.kernelRootkit); + var error = $root.google.cloud.securitycenter.v1.KernelRootkit.verify(message.kernelRootkit, long + 1); if (error) return "kernelRootkit." + error; } @@ -16810,23 +17459,23 @@ if (!Array.isArray(message.orgPolicies)) return "orgPolicies: array expected"; for (var i = 0; i < message.orgPolicies.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.OrgPolicy.verify(message.orgPolicies[i]); + var error = $root.google.cloud.securitycenter.v1.OrgPolicy.verify(message.orgPolicies[i], long + 1); if (error) return "orgPolicies." + error; } } if (message.application != null && message.hasOwnProperty("application")) { - var error = $root.google.cloud.securitycenter.v1.Application.verify(message.application); + var error = $root.google.cloud.securitycenter.v1.Application.verify(message.application, long + 1); if (error) return "application." + error; } if (message.backupDisasterRecovery != null && message.hasOwnProperty("backupDisasterRecovery")) { - var error = $root.google.cloud.securitycenter.v1.BackupDisasterRecovery.verify(message.backupDisasterRecovery); + var error = $root.google.cloud.securitycenter.v1.BackupDisasterRecovery.verify(message.backupDisasterRecovery, long + 1); if (error) return "backupDisasterRecovery." + error; } if (message.securityPosture != null && message.hasOwnProperty("securityPosture")) { - var error = $root.google.cloud.securitycenter.v1.SecurityPosture.verify(message.securityPosture); + var error = $root.google.cloud.securitycenter.v1.SecurityPosture.verify(message.securityPosture, long + 1); if (error) return "securityPosture." + error; } @@ -16834,7 +17483,7 @@ if (!Array.isArray(message.logEntries)) return "logEntries: array expected"; for (var i = 0; i < message.logEntries.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.LogEntry.verify(message.logEntries[i]); + var error = $root.google.cloud.securitycenter.v1.LogEntry.verify(message.logEntries[i], long + 1); if (error) return "logEntries." + error; } @@ -16843,23 +17492,23 @@ if (!Array.isArray(message.loadBalancers)) return "loadBalancers: array expected"; for (var i = 0; i < message.loadBalancers.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.LoadBalancer.verify(message.loadBalancers[i]); + var error = $root.google.cloud.securitycenter.v1.LoadBalancer.verify(message.loadBalancers[i], long + 1); if (error) return "loadBalancers." + error; } } if (message.cloudArmor != null && message.hasOwnProperty("cloudArmor")) { - var error = $root.google.cloud.securitycenter.v1.CloudArmor.verify(message.cloudArmor); + var error = $root.google.cloud.securitycenter.v1.CloudArmor.verify(message.cloudArmor, long + 1); if (error) return "cloudArmor." + error; } if (message.notebook != null && message.hasOwnProperty("notebook")) { - var error = $root.google.cloud.securitycenter.v1.Notebook.verify(message.notebook); + var error = $root.google.cloud.securitycenter.v1.Notebook.verify(message.notebook, long + 1); if (error) return "notebook." + error; } if (message.toxicCombination != null && message.hasOwnProperty("toxicCombination")) { - var error = $root.google.cloud.securitycenter.v1.ToxicCombination.verify(message.toxicCombination); + var error = $root.google.cloud.securitycenter.v1.ToxicCombination.verify(message.toxicCombination, long + 1); if (error) return "toxicCombination." + error; } @@ -16867,18 +17516,18 @@ if (!Array.isArray(message.groupMemberships)) return "groupMemberships: array expected"; for (var i = 0; i < message.groupMemberships.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.GroupMembership.verify(message.groupMemberships[i]); + var error = $root.google.cloud.securitycenter.v1.GroupMembership.verify(message.groupMemberships[i], long + 1); if (error) return "groupMemberships." + error; } } if (message.chokepoint != null && message.hasOwnProperty("chokepoint")) { - var error = $root.google.cloud.securitycenter.v1.Chokepoint.verify(message.chokepoint); + var error = $root.google.cloud.securitycenter.v1.Chokepoint.verify(message.chokepoint, long + 1); if (error) return "chokepoint." + error; } if (message.externalExposure != null && message.hasOwnProperty("externalExposure")) { - var error = $root.google.cloud.securitycenter.v1.ExternalExposure.verify(message.externalExposure); + var error = $root.google.cloud.securitycenter.v1.ExternalExposure.verify(message.externalExposure, long + 1); if (error) return "externalExposure." + error; } @@ -16893,9 +17542,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Finding} Finding */ - Finding.fromObject = function fromObject(object) { + Finding.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Finding) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Finding(); if (object.name != null) message.name = String(object.name); @@ -16932,25 +17585,27 @@ throw TypeError(".google.cloud.securitycenter.v1.Finding.sourceProperties: object expected"); message.sourceProperties = {}; for (var keys = Object.keys(object.sourceProperties), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.sourceProperties, keys[i]); if (typeof object.sourceProperties[keys[i]] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.sourceProperties: object expected"); - message.sourceProperties[keys[i]] = $root.google.protobuf.Value.fromObject(object.sourceProperties[keys[i]]); + message.sourceProperties[keys[i]] = $root.google.protobuf.Value.fromObject(object.sourceProperties[keys[i]], long + 1); } } if (object.securityMarks != null) { if (typeof object.securityMarks !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.securityMarks: object expected"); - message.securityMarks = $root.google.cloud.securitycenter.v1.SecurityMarks.fromObject(object.securityMarks); + message.securityMarks = $root.google.cloud.securitycenter.v1.SecurityMarks.fromObject(object.securityMarks, long + 1); } if (object.eventTime != null) { if (typeof object.eventTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.eventTime: object expected"); - message.eventTime = $root.google.protobuf.Timestamp.fromObject(object.eventTime); + message.eventTime = $root.google.protobuf.Timestamp.fromObject(object.eventTime, long + 1); } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } switch (object.severity) { default: @@ -17061,37 +17716,39 @@ if (object.indicator != null) { if (typeof object.indicator !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.indicator: object expected"); - message.indicator = $root.google.cloud.securitycenter.v1.Indicator.fromObject(object.indicator); + message.indicator = $root.google.cloud.securitycenter.v1.Indicator.fromObject(object.indicator, long + 1); } if (object.vulnerability != null) { if (typeof object.vulnerability !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.vulnerability: object expected"); - message.vulnerability = $root.google.cloud.securitycenter.v1.Vulnerability.fromObject(object.vulnerability); + message.vulnerability = $root.google.cloud.securitycenter.v1.Vulnerability.fromObject(object.vulnerability, long + 1); } if (object.muteUpdateTime != null) { if (typeof object.muteUpdateTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.muteUpdateTime: object expected"); - message.muteUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.muteUpdateTime); + message.muteUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.muteUpdateTime, long + 1); } if (object.externalSystems) { if (typeof object.externalSystems !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.externalSystems: object expected"); message.externalSystems = {}; for (var keys = Object.keys(object.externalSystems), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.externalSystems, keys[i]); if (typeof object.externalSystems[keys[i]] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.externalSystems: object expected"); - message.externalSystems[keys[i]] = $root.google.cloud.securitycenter.v1.ExternalSystem.fromObject(object.externalSystems[keys[i]]); + message.externalSystems[keys[i]] = $root.google.cloud.securitycenter.v1.ExternalSystem.fromObject(object.externalSystems[keys[i]], long + 1); } } if (object.mitreAttack != null) { if (typeof object.mitreAttack !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.mitreAttack: object expected"); - message.mitreAttack = $root.google.cloud.securitycenter.v1.MitreAttack.fromObject(object.mitreAttack); + message.mitreAttack = $root.google.cloud.securitycenter.v1.MitreAttack.fromObject(object.mitreAttack, long + 1); } if (object.access != null) { if (typeof object.access !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.access: object expected"); - message.access = $root.google.cloud.securitycenter.v1.Access.fromObject(object.access); + message.access = $root.google.cloud.securitycenter.v1.Access.fromObject(object.access, long + 1); } if (object.connections) { if (!Array.isArray(object.connections)) @@ -17100,7 +17757,7 @@ for (var i = 0; i < object.connections.length; ++i) { if (typeof object.connections[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.connections: object expected"); - message.connections[i] = $root.google.cloud.securitycenter.v1.Connection.fromObject(object.connections[i]); + message.connections[i] = $root.google.cloud.securitycenter.v1.Connection.fromObject(object.connections[i], long + 1); } } if (object.muteInitiator != null) @@ -17108,7 +17765,7 @@ if (object.muteInfo != null) { if (typeof object.muteInfo !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.muteInfo: object expected"); - message.muteInfo = $root.google.cloud.securitycenter.v1.Finding.MuteInfo.fromObject(object.muteInfo); + message.muteInfo = $root.google.cloud.securitycenter.v1.Finding.MuteInfo.fromObject(object.muteInfo, long + 1); } if (object.processes) { if (!Array.isArray(object.processes)) @@ -17117,7 +17774,7 @@ for (var i = 0; i < object.processes.length; ++i) { if (typeof object.processes[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.processes: object expected"); - message.processes[i] = $root.google.cloud.securitycenter.v1.Process.fromObject(object.processes[i]); + message.processes[i] = $root.google.cloud.securitycenter.v1.Process.fromObject(object.processes[i], long + 1); } } if (object.contacts) { @@ -17125,9 +17782,11 @@ throw TypeError(".google.cloud.securitycenter.v1.Finding.contacts: object expected"); message.contacts = {}; for (var keys = Object.keys(object.contacts), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.contacts, keys[i]); if (typeof object.contacts[keys[i]] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.contacts: object expected"); - message.contacts[keys[i]] = $root.google.cloud.securitycenter.v1.ContactDetails.fromObject(object.contacts[keys[i]]); + message.contacts[keys[i]] = $root.google.cloud.securitycenter.v1.ContactDetails.fromObject(object.contacts[keys[i]], long + 1); } } if (object.compliances) { @@ -17137,7 +17796,7 @@ for (var i = 0; i < object.compliances.length; ++i) { if (typeof object.compliances[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.compliances: object expected"); - message.compliances[i] = $root.google.cloud.securitycenter.v1.Compliance.fromObject(object.compliances[i]); + message.compliances[i] = $root.google.cloud.securitycenter.v1.Compliance.fromObject(object.compliances[i], long + 1); } } if (object.parentDisplayName != null) @@ -17147,7 +17806,7 @@ if (object.exfiltration != null) { if (typeof object.exfiltration !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.exfiltration: object expected"); - message.exfiltration = $root.google.cloud.securitycenter.v1.Exfiltration.fromObject(object.exfiltration); + message.exfiltration = $root.google.cloud.securitycenter.v1.Exfiltration.fromObject(object.exfiltration, long + 1); } if (object.iamBindings) { if (!Array.isArray(object.iamBindings)) @@ -17156,7 +17815,7 @@ for (var i = 0; i < object.iamBindings.length; ++i) { if (typeof object.iamBindings[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.iamBindings: object expected"); - message.iamBindings[i] = $root.google.cloud.securitycenter.v1.IamBinding.fromObject(object.iamBindings[i]); + message.iamBindings[i] = $root.google.cloud.securitycenter.v1.IamBinding.fromObject(object.iamBindings[i], long + 1); } } if (object.nextSteps != null) @@ -17170,23 +17829,23 @@ for (var i = 0; i < object.containers.length; ++i) { if (typeof object.containers[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.containers: object expected"); - message.containers[i] = $root.google.cloud.securitycenter.v1.Container.fromObject(object.containers[i]); + message.containers[i] = $root.google.cloud.securitycenter.v1.Container.fromObject(object.containers[i], long + 1); } } if (object.kubernetes != null) { if (typeof object.kubernetes !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.kubernetes: object expected"); - message.kubernetes = $root.google.cloud.securitycenter.v1.Kubernetes.fromObject(object.kubernetes); + message.kubernetes = $root.google.cloud.securitycenter.v1.Kubernetes.fromObject(object.kubernetes, long + 1); } if (object.database != null) { if (typeof object.database !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.database: object expected"); - message.database = $root.google.cloud.securitycenter.v1.Database.fromObject(object.database); + message.database = $root.google.cloud.securitycenter.v1.Database.fromObject(object.database, long + 1); } if (object.attackExposure != null) { if (typeof object.attackExposure !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.attackExposure: object expected"); - message.attackExposure = $root.google.cloud.securitycenter.v1.AttackExposure.fromObject(object.attackExposure); + message.attackExposure = $root.google.cloud.securitycenter.v1.AttackExposure.fromObject(object.attackExposure, long + 1); } if (object.files) { if (!Array.isArray(object.files)) @@ -17195,23 +17854,23 @@ for (var i = 0; i < object.files.length; ++i) { if (typeof object.files[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.files: object expected"); - message.files[i] = $root.google.cloud.securitycenter.v1.File.fromObject(object.files[i]); + message.files[i] = $root.google.cloud.securitycenter.v1.File.fromObject(object.files[i], long + 1); } } if (object.cloudDlpInspection != null) { if (typeof object.cloudDlpInspection !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.cloudDlpInspection: object expected"); - message.cloudDlpInspection = $root.google.cloud.securitycenter.v1.CloudDlpInspection.fromObject(object.cloudDlpInspection); + message.cloudDlpInspection = $root.google.cloud.securitycenter.v1.CloudDlpInspection.fromObject(object.cloudDlpInspection, long + 1); } if (object.cloudDlpDataProfile != null) { if (typeof object.cloudDlpDataProfile !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.cloudDlpDataProfile: object expected"); - message.cloudDlpDataProfile = $root.google.cloud.securitycenter.v1.CloudDlpDataProfile.fromObject(object.cloudDlpDataProfile); + message.cloudDlpDataProfile = $root.google.cloud.securitycenter.v1.CloudDlpDataProfile.fromObject(object.cloudDlpDataProfile, long + 1); } if (object.kernelRootkit != null) { if (typeof object.kernelRootkit !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.kernelRootkit: object expected"); - message.kernelRootkit = $root.google.cloud.securitycenter.v1.KernelRootkit.fromObject(object.kernelRootkit); + message.kernelRootkit = $root.google.cloud.securitycenter.v1.KernelRootkit.fromObject(object.kernelRootkit, long + 1); } if (object.orgPolicies) { if (!Array.isArray(object.orgPolicies)) @@ -17220,23 +17879,23 @@ for (var i = 0; i < object.orgPolicies.length; ++i) { if (typeof object.orgPolicies[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.orgPolicies: object expected"); - message.orgPolicies[i] = $root.google.cloud.securitycenter.v1.OrgPolicy.fromObject(object.orgPolicies[i]); + message.orgPolicies[i] = $root.google.cloud.securitycenter.v1.OrgPolicy.fromObject(object.orgPolicies[i], long + 1); } } if (object.application != null) { if (typeof object.application !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.application: object expected"); - message.application = $root.google.cloud.securitycenter.v1.Application.fromObject(object.application); + message.application = $root.google.cloud.securitycenter.v1.Application.fromObject(object.application, long + 1); } if (object.backupDisasterRecovery != null) { if (typeof object.backupDisasterRecovery !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.backupDisasterRecovery: object expected"); - message.backupDisasterRecovery = $root.google.cloud.securitycenter.v1.BackupDisasterRecovery.fromObject(object.backupDisasterRecovery); + message.backupDisasterRecovery = $root.google.cloud.securitycenter.v1.BackupDisasterRecovery.fromObject(object.backupDisasterRecovery, long + 1); } if (object.securityPosture != null) { if (typeof object.securityPosture !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.securityPosture: object expected"); - message.securityPosture = $root.google.cloud.securitycenter.v1.SecurityPosture.fromObject(object.securityPosture); + message.securityPosture = $root.google.cloud.securitycenter.v1.SecurityPosture.fromObject(object.securityPosture, long + 1); } if (object.logEntries) { if (!Array.isArray(object.logEntries)) @@ -17245,7 +17904,7 @@ for (var i = 0; i < object.logEntries.length; ++i) { if (typeof object.logEntries[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.logEntries: object expected"); - message.logEntries[i] = $root.google.cloud.securitycenter.v1.LogEntry.fromObject(object.logEntries[i]); + message.logEntries[i] = $root.google.cloud.securitycenter.v1.LogEntry.fromObject(object.logEntries[i], long + 1); } } if (object.loadBalancers) { @@ -17255,23 +17914,23 @@ for (var i = 0; i < object.loadBalancers.length; ++i) { if (typeof object.loadBalancers[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.loadBalancers: object expected"); - message.loadBalancers[i] = $root.google.cloud.securitycenter.v1.LoadBalancer.fromObject(object.loadBalancers[i]); + message.loadBalancers[i] = $root.google.cloud.securitycenter.v1.LoadBalancer.fromObject(object.loadBalancers[i], long + 1); } } if (object.cloudArmor != null) { if (typeof object.cloudArmor !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.cloudArmor: object expected"); - message.cloudArmor = $root.google.cloud.securitycenter.v1.CloudArmor.fromObject(object.cloudArmor); + message.cloudArmor = $root.google.cloud.securitycenter.v1.CloudArmor.fromObject(object.cloudArmor, long + 1); } if (object.notebook != null) { if (typeof object.notebook !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.notebook: object expected"); - message.notebook = $root.google.cloud.securitycenter.v1.Notebook.fromObject(object.notebook); + message.notebook = $root.google.cloud.securitycenter.v1.Notebook.fromObject(object.notebook, long + 1); } if (object.toxicCombination != null) { if (typeof object.toxicCombination !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.toxicCombination: object expected"); - message.toxicCombination = $root.google.cloud.securitycenter.v1.ToxicCombination.fromObject(object.toxicCombination); + message.toxicCombination = $root.google.cloud.securitycenter.v1.ToxicCombination.fromObject(object.toxicCombination, long + 1); } if (object.groupMemberships) { if (!Array.isArray(object.groupMemberships)) @@ -17280,18 +17939,18 @@ for (var i = 0; i < object.groupMemberships.length; ++i) { if (typeof object.groupMemberships[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.groupMemberships: object expected"); - message.groupMemberships[i] = $root.google.cloud.securitycenter.v1.GroupMembership.fromObject(object.groupMemberships[i]); + message.groupMemberships[i] = $root.google.cloud.securitycenter.v1.GroupMembership.fromObject(object.groupMemberships[i], long + 1); } } if (object.chokepoint != null) { if (typeof object.chokepoint !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.chokepoint: object expected"); - message.chokepoint = $root.google.cloud.securitycenter.v1.Chokepoint.fromObject(object.chokepoint); + message.chokepoint = $root.google.cloud.securitycenter.v1.Chokepoint.fromObject(object.chokepoint, long + 1); } if (object.externalExposure != null) { if (typeof object.externalExposure !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.externalExposure: object expected"); - message.externalExposure = $root.google.cloud.securitycenter.v1.ExternalExposure.fromObject(object.externalExposure); + message.externalExposure = $root.google.cloud.securitycenter.v1.ExternalExposure.fromObject(object.externalExposure, long + 1); } return message; }; @@ -17382,8 +18041,11 @@ var keys2; if (message.sourceProperties && (keys2 = Object.keys(message.sourceProperties)).length) { object.sourceProperties = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.sourceProperties, keys2[j]); object.sourceProperties[keys2[j]] = $root.google.protobuf.Value.toObject(message.sourceProperties[keys2[j]], options); + } } if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) object.securityMarks = $root.google.cloud.securitycenter.v1.SecurityMarks.toObject(message.securityMarks, options); @@ -17407,8 +18069,11 @@ object.muteUpdateTime = $root.google.protobuf.Timestamp.toObject(message.muteUpdateTime, options); if (message.externalSystems && (keys2 = Object.keys(message.externalSystems)).length) { object.externalSystems = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.externalSystems, keys2[j]); object.externalSystems[keys2[j]] = $root.google.cloud.securitycenter.v1.ExternalSystem.toObject(message.externalSystems[keys2[j]], options); + } } if (message.mitreAttack != null && message.hasOwnProperty("mitreAttack")) object.mitreAttack = $root.google.cloud.securitycenter.v1.MitreAttack.toObject(message.mitreAttack, options); @@ -17428,8 +18093,11 @@ } if (message.contacts && (keys2 = Object.keys(message.contacts)).length) { object.contacts = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.contacts, keys2[j]); object.contacts[keys2[j]] = $root.google.cloud.securitycenter.v1.ContactDetails.toObject(message.contacts[keys2[j]], options); + } } if (message.compliances && message.compliances.length) { object.compliances = []; @@ -17648,7 +18316,7 @@ this.dynamicMuteRecords = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17724,9 +18392,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MuteInfo.decode = function decode(reader, length, error) { + MuteInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Finding.MuteInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17734,17 +18406,17 @@ break; switch (tag >>> 3) { case 1: { - message.staticMute = $root.google.cloud.securitycenter.v1.Finding.MuteInfo.StaticMute.decode(reader, reader.uint32()); + message.staticMute = $root.google.cloud.securitycenter.v1.Finding.MuteInfo.StaticMute.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { if (!(message.dynamicMuteRecords && message.dynamicMuteRecords.length)) message.dynamicMuteRecords = []; - message.dynamicMuteRecords.push($root.google.cloud.securitycenter.v1.Finding.MuteInfo.DynamicMuteRecord.decode(reader, reader.uint32())); + message.dynamicMuteRecords.push($root.google.cloud.securitycenter.v1.Finding.MuteInfo.DynamicMuteRecord.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17775,11 +18447,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MuteInfo.verify = function verify(message) { + MuteInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.staticMute != null && message.hasOwnProperty("staticMute")) { - var error = $root.google.cloud.securitycenter.v1.Finding.MuteInfo.StaticMute.verify(message.staticMute); + var error = $root.google.cloud.securitycenter.v1.Finding.MuteInfo.StaticMute.verify(message.staticMute, long + 1); if (error) return "staticMute." + error; } @@ -17787,7 +18463,7 @@ if (!Array.isArray(message.dynamicMuteRecords)) return "dynamicMuteRecords: array expected"; for (var i = 0; i < message.dynamicMuteRecords.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Finding.MuteInfo.DynamicMuteRecord.verify(message.dynamicMuteRecords[i]); + var error = $root.google.cloud.securitycenter.v1.Finding.MuteInfo.DynamicMuteRecord.verify(message.dynamicMuteRecords[i], long + 1); if (error) return "dynamicMuteRecords." + error; } @@ -17803,14 +18479,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Finding.MuteInfo} MuteInfo */ - MuteInfo.fromObject = function fromObject(object) { + MuteInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Finding.MuteInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Finding.MuteInfo(); if (object.staticMute != null) { if (typeof object.staticMute !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.MuteInfo.staticMute: object expected"); - message.staticMute = $root.google.cloud.securitycenter.v1.Finding.MuteInfo.StaticMute.fromObject(object.staticMute); + message.staticMute = $root.google.cloud.securitycenter.v1.Finding.MuteInfo.StaticMute.fromObject(object.staticMute, long + 1); } if (object.dynamicMuteRecords) { if (!Array.isArray(object.dynamicMuteRecords)) @@ -17819,7 +18499,7 @@ for (var i = 0; i < object.dynamicMuteRecords.length; ++i) { if (typeof object.dynamicMuteRecords[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.MuteInfo.dynamicMuteRecords: object expected"); - message.dynamicMuteRecords[i] = $root.google.cloud.securitycenter.v1.Finding.MuteInfo.DynamicMuteRecord.fromObject(object.dynamicMuteRecords[i]); + message.dynamicMuteRecords[i] = $root.google.cloud.securitycenter.v1.Finding.MuteInfo.DynamicMuteRecord.fromObject(object.dynamicMuteRecords[i], long + 1); } } return message; @@ -17899,7 +18579,7 @@ function StaticMute(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17974,9 +18654,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StaticMute.decode = function decode(reader, length, error) { + StaticMute.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Finding.MuteInfo.StaticMute(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17988,11 +18672,11 @@ break; } case 2: { - message.applyTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.applyTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18023,9 +18707,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StaticMute.verify = function verify(message) { + StaticMute.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.state != null && message.hasOwnProperty("state")) switch (message.state) { default: @@ -18037,7 +18725,7 @@ break; } if (message.applyTime != null && message.hasOwnProperty("applyTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.applyTime); + var error = $root.google.protobuf.Timestamp.verify(message.applyTime, long + 1); if (error) return "applyTime." + error; } @@ -18052,9 +18740,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Finding.MuteInfo.StaticMute} StaticMute */ - StaticMute.fromObject = function fromObject(object) { + StaticMute.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Finding.MuteInfo.StaticMute) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Finding.MuteInfo.StaticMute(); switch (object.state) { default: @@ -18083,7 +18775,7 @@ if (object.applyTime != null) { if (typeof object.applyTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.MuteInfo.StaticMute.applyTime: object expected"); - message.applyTime = $root.google.protobuf.Timestamp.fromObject(object.applyTime); + message.applyTime = $root.google.protobuf.Timestamp.fromObject(object.applyTime, long + 1); } return message; }; @@ -18162,7 +18854,7 @@ function DynamicMuteRecord(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18237,9 +18929,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DynamicMuteRecord.decode = function decode(reader, length, error) { + DynamicMuteRecord.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Finding.MuteInfo.DynamicMuteRecord(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18251,11 +18947,11 @@ break; } case 2: { - message.matchTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.matchTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18286,14 +18982,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DynamicMuteRecord.verify = function verify(message) { + DynamicMuteRecord.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.muteConfig != null && message.hasOwnProperty("muteConfig")) if (!$util.isString(message.muteConfig)) return "muteConfig: string expected"; if (message.matchTime != null && message.hasOwnProperty("matchTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.matchTime); + var error = $root.google.protobuf.Timestamp.verify(message.matchTime, long + 1); if (error) return "matchTime." + error; } @@ -18308,16 +19008,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Finding.MuteInfo.DynamicMuteRecord} DynamicMuteRecord */ - DynamicMuteRecord.fromObject = function fromObject(object) { + DynamicMuteRecord.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Finding.MuteInfo.DynamicMuteRecord) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Finding.MuteInfo.DynamicMuteRecord(); if (object.muteConfig != null) message.muteConfig = String(object.muteConfig); if (object.matchTime != null) { if (typeof object.matchTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.Finding.MuteInfo.DynamicMuteRecord.matchTime: object expected"); - message.matchTime = $root.google.protobuf.Timestamp.fromObject(object.matchTime); + message.matchTime = $root.google.protobuf.Timestamp.fromObject(object.matchTime, long + 1); } return message; }; @@ -18402,7 +19106,7 @@ function GroupMembership(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18477,9 +19181,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupMembership.decode = function decode(reader, length, error) { + GroupMembership.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GroupMembership(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18495,7 +19203,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18526,9 +19234,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupMembership.verify = function verify(message) { + GroupMembership.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.groupType != null && message.hasOwnProperty("groupType")) switch (message.groupType) { default: @@ -18552,9 +19264,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GroupMembership} GroupMembership */ - GroupMembership.fromObject = function fromObject(object) { + GroupMembership.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GroupMembership) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GroupMembership(); switch (object.groupType) { default: @@ -18672,7 +19388,7 @@ function IamBinding(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18757,9 +19473,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IamBinding.decode = function decode(reader, length, error) { + IamBinding.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.IamBinding(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18779,7 +19499,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18810,9 +19530,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - IamBinding.verify = function verify(message) { + IamBinding.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.action != null && message.hasOwnProperty("action")) switch (message.action) { default: @@ -18839,9 +19563,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.IamBinding} IamBinding */ - IamBinding.fromObject = function fromObject(object) { + IamBinding.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.IamBinding) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.IamBinding(); switch (object.action) { default: @@ -18969,7 +19697,7 @@ this.uris = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19068,9 +19796,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Indicator.decode = function decode(reader, length, error) { + Indicator.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Indicator(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19092,7 +19824,7 @@ case 3: { if (!(message.signatures && message.signatures.length)) message.signatures = []; - message.signatures.push($root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.decode(reader, reader.uint32())); + message.signatures.push($root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { @@ -19102,7 +19834,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19133,9 +19865,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Indicator.verify = function verify(message) { + Indicator.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ipAddresses != null && message.hasOwnProperty("ipAddresses")) { if (!Array.isArray(message.ipAddresses)) return "ipAddresses: array expected"; @@ -19154,7 +19890,7 @@ if (!Array.isArray(message.signatures)) return "signatures: array expected"; for (var i = 0; i < message.signatures.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.verify(message.signatures[i]); + var error = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.verify(message.signatures[i], long + 1); if (error) return "signatures." + error; } @@ -19177,9 +19913,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Indicator} Indicator */ - Indicator.fromObject = function fromObject(object) { + Indicator.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Indicator) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Indicator(); if (object.ipAddresses) { if (!Array.isArray(object.ipAddresses)) @@ -19202,7 +19942,7 @@ for (var i = 0; i < object.signatures.length; ++i) { if (typeof object.signatures[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Indicator.signatures: object expected"); - message.signatures[i] = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.fromObject(object.signatures[i]); + message.signatures[i] = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.fromObject(object.signatures[i], long + 1); } } if (object.uris) { @@ -19305,7 +20045,7 @@ function ProcessSignature(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19404,9 +20144,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProcessSignature.decode = function decode(reader, length, error) { + ProcessSignature.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19414,11 +20158,11 @@ break; switch (tag >>> 3) { case 6: { - message.memoryHashSignature = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.decode(reader, reader.uint32()); + message.memoryHashSignature = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.yaraRuleSignature = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.YaraRuleSignature.decode(reader, reader.uint32()); + message.yaraRuleSignature = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.YaraRuleSignature.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { @@ -19426,7 +20170,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19457,14 +20201,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ProcessSignature.verify = function verify(message) { + ProcessSignature.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.memoryHashSignature != null && message.hasOwnProperty("memoryHashSignature")) { properties.signature = 1; { - var error = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.verify(message.memoryHashSignature); + var error = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.verify(message.memoryHashSignature, long + 1); if (error) return "memoryHashSignature." + error; } @@ -19474,7 +20222,7 @@ return "signature: multiple values"; properties.signature = 1; { - var error = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.YaraRuleSignature.verify(message.yaraRuleSignature); + var error = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.YaraRuleSignature.verify(message.yaraRuleSignature, long + 1); if (error) return "yaraRuleSignature." + error; } @@ -19499,19 +20247,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Indicator.ProcessSignature} ProcessSignature */ - ProcessSignature.fromObject = function fromObject(object) { + ProcessSignature.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature(); if (object.memoryHashSignature != null) { if (typeof object.memoryHashSignature !== "object") throw TypeError(".google.cloud.securitycenter.v1.Indicator.ProcessSignature.memoryHashSignature: object expected"); - message.memoryHashSignature = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.fromObject(object.memoryHashSignature); + message.memoryHashSignature = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.fromObject(object.memoryHashSignature, long + 1); } if (object.yaraRuleSignature != null) { if (typeof object.yaraRuleSignature !== "object") throw TypeError(".google.cloud.securitycenter.v1.Indicator.ProcessSignature.yaraRuleSignature: object expected"); - message.yaraRuleSignature = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.YaraRuleSignature.fromObject(object.yaraRuleSignature); + message.yaraRuleSignature = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.YaraRuleSignature.fromObject(object.yaraRuleSignature, long + 1); } switch (object.signatureType) { default: @@ -19614,7 +20366,7 @@ this.detections = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19690,9 +20442,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MemoryHashSignature.decode = function decode(reader, length, error) { + MemoryHashSignature.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19706,11 +20462,11 @@ case 4: { if (!(message.detections && message.detections.length)) message.detections = []; - message.detections.push($root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.Detection.decode(reader, reader.uint32())); + message.detections.push($root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.Detection.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19741,9 +20497,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MemoryHashSignature.verify = function verify(message) { + MemoryHashSignature.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.binaryFamily != null && message.hasOwnProperty("binaryFamily")) if (!$util.isString(message.binaryFamily)) return "binaryFamily: string expected"; @@ -19751,7 +20511,7 @@ if (!Array.isArray(message.detections)) return "detections: array expected"; for (var i = 0; i < message.detections.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.Detection.verify(message.detections[i]); + var error = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.Detection.verify(message.detections[i], long + 1); if (error) return "detections." + error; } @@ -19767,9 +20527,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature} MemoryHashSignature */ - MemoryHashSignature.fromObject = function fromObject(object) { + MemoryHashSignature.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature(); if (object.binaryFamily != null) message.binaryFamily = String(object.binaryFamily); @@ -19780,7 +20544,7 @@ for (var i = 0; i < object.detections.length; ++i) { if (typeof object.detections[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.detections: object expected"); - message.detections[i] = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.Detection.fromObject(object.detections[i]); + message.detections[i] = $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.Detection.fromObject(object.detections[i], long + 1); } } return message; @@ -19860,7 +20624,7 @@ function Detection(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19935,9 +20699,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Detection.decode = function decode(reader, length, error) { + Detection.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.Detection(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19953,7 +20721,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19984,9 +20752,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Detection.verify = function verify(message) { + Detection.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.binary != null && message.hasOwnProperty("binary")) if (!$util.isString(message.binary)) return "binary: string expected"; @@ -20004,9 +20776,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.Detection} Detection */ - Detection.fromObject = function fromObject(object) { + Detection.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.Detection) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.MemoryHashSignature.Detection(); if (object.binary != null) message.binary = String(object.binary); @@ -20091,7 +20867,7 @@ function YaraRuleSignature(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20156,9 +20932,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YaraRuleSignature.decode = function decode(reader, length, error) { + YaraRuleSignature.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.YaraRuleSignature(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20170,7 +20950,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20201,9 +20981,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - YaraRuleSignature.verify = function verify(message) { + YaraRuleSignature.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.yaraRule != null && message.hasOwnProperty("yaraRule")) if (!$util.isString(message.yaraRule)) return "yaraRule: string expected"; @@ -20218,9 +21002,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Indicator.ProcessSignature.YaraRuleSignature} YaraRuleSignature */ - YaraRuleSignature.fromObject = function fromObject(object) { + YaraRuleSignature.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.YaraRuleSignature) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Indicator.ProcessSignature.YaraRuleSignature(); if (object.yaraRule != null) message.yaraRule = String(object.yaraRule); @@ -20326,7 +21114,7 @@ function KernelRootkit(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20471,9 +21259,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KernelRootkit.decode = function decode(reader, length, error) { + KernelRootkit.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.KernelRootkit(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20517,7 +21309,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20548,9 +21340,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - KernelRootkit.verify = function verify(message) { + KernelRootkit.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -20589,9 +21385,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.KernelRootkit} KernelRootkit */ - KernelRootkit.fromObject = function fromObject(object) { + KernelRootkit.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.KernelRootkit) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.KernelRootkit(); if (object.name != null) message.name = String(object.name); @@ -20721,7 +21521,7 @@ this.objects = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20853,9 +21653,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Kubernetes.decode = function decode(reader, length, error) { + Kubernetes.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Kubernetes(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20865,47 +21669,47 @@ case 1: { if (!(message.pods && message.pods.length)) message.pods = []; - message.pods.push($root.google.cloud.securitycenter.v1.Kubernetes.Pod.decode(reader, reader.uint32())); + message.pods.push($root.google.cloud.securitycenter.v1.Kubernetes.Pod.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.nodes && message.nodes.length)) message.nodes = []; - message.nodes.push($root.google.cloud.securitycenter.v1.Kubernetes.Node.decode(reader, reader.uint32())); + message.nodes.push($root.google.cloud.securitycenter.v1.Kubernetes.Node.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { if (!(message.nodePools && message.nodePools.length)) message.nodePools = []; - message.nodePools.push($root.google.cloud.securitycenter.v1.Kubernetes.NodePool.decode(reader, reader.uint32())); + message.nodePools.push($root.google.cloud.securitycenter.v1.Kubernetes.NodePool.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { if (!(message.roles && message.roles.length)) message.roles = []; - message.roles.push($root.google.cloud.securitycenter.v1.Kubernetes.Role.decode(reader, reader.uint32())); + message.roles.push($root.google.cloud.securitycenter.v1.Kubernetes.Role.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.bindings && message.bindings.length)) message.bindings = []; - message.bindings.push($root.google.cloud.securitycenter.v1.Kubernetes.Binding.decode(reader, reader.uint32())); + message.bindings.push($root.google.cloud.securitycenter.v1.Kubernetes.Binding.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.accessReviews && message.accessReviews.length)) message.accessReviews = []; - message.accessReviews.push($root.google.cloud.securitycenter.v1.Kubernetes.AccessReview.decode(reader, reader.uint32())); + message.accessReviews.push($root.google.cloud.securitycenter.v1.Kubernetes.AccessReview.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { if (!(message.objects && message.objects.length)) message.objects = []; - message.objects.push($root.google.cloud.securitycenter.v1.Kubernetes.Object.decode(reader, reader.uint32())); + message.objects.push($root.google.cloud.securitycenter.v1.Kubernetes.Object.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20936,14 +21740,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Kubernetes.verify = function verify(message) { + Kubernetes.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.pods != null && message.hasOwnProperty("pods")) { if (!Array.isArray(message.pods)) return "pods: array expected"; for (var i = 0; i < message.pods.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Kubernetes.Pod.verify(message.pods[i]); + var error = $root.google.cloud.securitycenter.v1.Kubernetes.Pod.verify(message.pods[i], long + 1); if (error) return "pods." + error; } @@ -20952,7 +21760,7 @@ if (!Array.isArray(message.nodes)) return "nodes: array expected"; for (var i = 0; i < message.nodes.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Kubernetes.Node.verify(message.nodes[i]); + var error = $root.google.cloud.securitycenter.v1.Kubernetes.Node.verify(message.nodes[i], long + 1); if (error) return "nodes." + error; } @@ -20961,7 +21769,7 @@ if (!Array.isArray(message.nodePools)) return "nodePools: array expected"; for (var i = 0; i < message.nodePools.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Kubernetes.NodePool.verify(message.nodePools[i]); + var error = $root.google.cloud.securitycenter.v1.Kubernetes.NodePool.verify(message.nodePools[i], long + 1); if (error) return "nodePools." + error; } @@ -20970,7 +21778,7 @@ if (!Array.isArray(message.roles)) return "roles: array expected"; for (var i = 0; i < message.roles.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Kubernetes.Role.verify(message.roles[i]); + var error = $root.google.cloud.securitycenter.v1.Kubernetes.Role.verify(message.roles[i], long + 1); if (error) return "roles." + error; } @@ -20979,7 +21787,7 @@ if (!Array.isArray(message.bindings)) return "bindings: array expected"; for (var i = 0; i < message.bindings.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Kubernetes.Binding.verify(message.bindings[i]); + var error = $root.google.cloud.securitycenter.v1.Kubernetes.Binding.verify(message.bindings[i], long + 1); if (error) return "bindings." + error; } @@ -20988,7 +21796,7 @@ if (!Array.isArray(message.accessReviews)) return "accessReviews: array expected"; for (var i = 0; i < message.accessReviews.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Kubernetes.AccessReview.verify(message.accessReviews[i]); + var error = $root.google.cloud.securitycenter.v1.Kubernetes.AccessReview.verify(message.accessReviews[i], long + 1); if (error) return "accessReviews." + error; } @@ -20997,7 +21805,7 @@ if (!Array.isArray(message.objects)) return "objects: array expected"; for (var i = 0; i < message.objects.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Kubernetes.Object.verify(message.objects[i]); + var error = $root.google.cloud.securitycenter.v1.Kubernetes.Object.verify(message.objects[i], long + 1); if (error) return "objects." + error; } @@ -21013,9 +21821,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Kubernetes} Kubernetes */ - Kubernetes.fromObject = function fromObject(object) { + Kubernetes.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Kubernetes) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Kubernetes(); if (object.pods) { if (!Array.isArray(object.pods)) @@ -21024,7 +21836,7 @@ for (var i = 0; i < object.pods.length; ++i) { if (typeof object.pods[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Kubernetes.pods: object expected"); - message.pods[i] = $root.google.cloud.securitycenter.v1.Kubernetes.Pod.fromObject(object.pods[i]); + message.pods[i] = $root.google.cloud.securitycenter.v1.Kubernetes.Pod.fromObject(object.pods[i], long + 1); } } if (object.nodes) { @@ -21034,7 +21846,7 @@ for (var i = 0; i < object.nodes.length; ++i) { if (typeof object.nodes[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Kubernetes.nodes: object expected"); - message.nodes[i] = $root.google.cloud.securitycenter.v1.Kubernetes.Node.fromObject(object.nodes[i]); + message.nodes[i] = $root.google.cloud.securitycenter.v1.Kubernetes.Node.fromObject(object.nodes[i], long + 1); } } if (object.nodePools) { @@ -21044,7 +21856,7 @@ for (var i = 0; i < object.nodePools.length; ++i) { if (typeof object.nodePools[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Kubernetes.nodePools: object expected"); - message.nodePools[i] = $root.google.cloud.securitycenter.v1.Kubernetes.NodePool.fromObject(object.nodePools[i]); + message.nodePools[i] = $root.google.cloud.securitycenter.v1.Kubernetes.NodePool.fromObject(object.nodePools[i], long + 1); } } if (object.roles) { @@ -21054,7 +21866,7 @@ for (var i = 0; i < object.roles.length; ++i) { if (typeof object.roles[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Kubernetes.roles: object expected"); - message.roles[i] = $root.google.cloud.securitycenter.v1.Kubernetes.Role.fromObject(object.roles[i]); + message.roles[i] = $root.google.cloud.securitycenter.v1.Kubernetes.Role.fromObject(object.roles[i], long + 1); } } if (object.bindings) { @@ -21064,7 +21876,7 @@ for (var i = 0; i < object.bindings.length; ++i) { if (typeof object.bindings[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Kubernetes.bindings: object expected"); - message.bindings[i] = $root.google.cloud.securitycenter.v1.Kubernetes.Binding.fromObject(object.bindings[i]); + message.bindings[i] = $root.google.cloud.securitycenter.v1.Kubernetes.Binding.fromObject(object.bindings[i], long + 1); } } if (object.accessReviews) { @@ -21074,7 +21886,7 @@ for (var i = 0; i < object.accessReviews.length; ++i) { if (typeof object.accessReviews[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Kubernetes.accessReviews: object expected"); - message.accessReviews[i] = $root.google.cloud.securitycenter.v1.Kubernetes.AccessReview.fromObject(object.accessReviews[i]); + message.accessReviews[i] = $root.google.cloud.securitycenter.v1.Kubernetes.AccessReview.fromObject(object.accessReviews[i], long + 1); } } if (object.objects) { @@ -21084,7 +21896,7 @@ for (var i = 0; i < object.objects.length; ++i) { if (typeof object.objects[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Kubernetes.objects: object expected"); - message.objects[i] = $root.google.cloud.securitycenter.v1.Kubernetes.Object.fromObject(object.objects[i]); + message.objects[i] = $root.google.cloud.securitycenter.v1.Kubernetes.Object.fromObject(object.objects[i], long + 1); } } return message; @@ -21201,7 +22013,7 @@ this.containers = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21298,9 +22110,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Pod.decode = function decode(reader, length, error) { + Pod.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Kubernetes.Pod(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21318,17 +22134,17 @@ case 3: { if (!(message.labels && message.labels.length)) message.labels = []; - message.labels.push($root.google.cloud.securitycenter.v1.Label.decode(reader, reader.uint32())); + message.labels.push($root.google.cloud.securitycenter.v1.Label.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { if (!(message.containers && message.containers.length)) message.containers = []; - message.containers.push($root.google.cloud.securitycenter.v1.Container.decode(reader, reader.uint32())); + message.containers.push($root.google.cloud.securitycenter.v1.Container.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21359,9 +22175,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Pod.verify = function verify(message) { + Pod.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ns != null && message.hasOwnProperty("ns")) if (!$util.isString(message.ns)) return "ns: string expected"; @@ -21372,7 +22192,7 @@ if (!Array.isArray(message.labels)) return "labels: array expected"; for (var i = 0; i < message.labels.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Label.verify(message.labels[i]); + var error = $root.google.cloud.securitycenter.v1.Label.verify(message.labels[i], long + 1); if (error) return "labels." + error; } @@ -21381,7 +22201,7 @@ if (!Array.isArray(message.containers)) return "containers: array expected"; for (var i = 0; i < message.containers.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Container.verify(message.containers[i]); + var error = $root.google.cloud.securitycenter.v1.Container.verify(message.containers[i], long + 1); if (error) return "containers." + error; } @@ -21397,9 +22217,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Kubernetes.Pod} Pod */ - Pod.fromObject = function fromObject(object) { + Pod.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Kubernetes.Pod) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Kubernetes.Pod(); if (object.ns != null) message.ns = String(object.ns); @@ -21412,7 +22236,7 @@ for (var i = 0; i < object.labels.length; ++i) { if (typeof object.labels[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Kubernetes.Pod.labels: object expected"); - message.labels[i] = $root.google.cloud.securitycenter.v1.Label.fromObject(object.labels[i]); + message.labels[i] = $root.google.cloud.securitycenter.v1.Label.fromObject(object.labels[i], long + 1); } } if (object.containers) { @@ -21422,7 +22246,7 @@ for (var i = 0; i < object.containers.length; ++i) { if (typeof object.containers[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Kubernetes.Pod.containers: object expected"); - message.containers[i] = $root.google.cloud.securitycenter.v1.Container.fromObject(object.containers[i]); + message.containers[i] = $root.google.cloud.securitycenter.v1.Container.fromObject(object.containers[i], long + 1); } } return message; @@ -21515,7 +22339,7 @@ function Node(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21580,9 +22404,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Node.decode = function decode(reader, length, error) { + Node.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Kubernetes.Node(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21594,7 +22422,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21625,9 +22453,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Node.verify = function verify(message) { + Node.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -21642,9 +22474,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Kubernetes.Node} Node */ - Node.fromObject = function fromObject(object) { + Node.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Kubernetes.Node) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Kubernetes.Node(); if (object.name != null) message.name = String(object.name); @@ -21722,7 +22558,7 @@ this.nodes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21798,9 +22634,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NodePool.decode = function decode(reader, length, error) { + NodePool.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Kubernetes.NodePool(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21814,11 +22654,11 @@ case 2: { if (!(message.nodes && message.nodes.length)) message.nodes = []; - message.nodes.push($root.google.cloud.securitycenter.v1.Kubernetes.Node.decode(reader, reader.uint32())); + message.nodes.push($root.google.cloud.securitycenter.v1.Kubernetes.Node.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21849,9 +22689,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NodePool.verify = function verify(message) { + NodePool.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -21859,7 +22703,7 @@ if (!Array.isArray(message.nodes)) return "nodes: array expected"; for (var i = 0; i < message.nodes.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Kubernetes.Node.verify(message.nodes[i]); + var error = $root.google.cloud.securitycenter.v1.Kubernetes.Node.verify(message.nodes[i], long + 1); if (error) return "nodes." + error; } @@ -21875,9 +22719,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Kubernetes.NodePool} NodePool */ - NodePool.fromObject = function fromObject(object) { + NodePool.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Kubernetes.NodePool) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Kubernetes.NodePool(); if (object.name != null) message.name = String(object.name); @@ -21888,7 +22736,7 @@ for (var i = 0; i < object.nodes.length; ++i) { if (typeof object.nodes[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Kubernetes.NodePool.nodes: object expected"); - message.nodes[i] = $root.google.cloud.securitycenter.v1.Kubernetes.Node.fromObject(object.nodes[i]); + message.nodes[i] = $root.google.cloud.securitycenter.v1.Kubernetes.Node.fromObject(object.nodes[i], long + 1); } } return message; @@ -21972,7 +22820,7 @@ function Role(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22057,9 +22905,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Role.decode = function decode(reader, length, error) { + Role.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Kubernetes.Role(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22079,7 +22931,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22110,9 +22962,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Role.verify = function verify(message) { + Role.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.kind != null && message.hasOwnProperty("kind")) switch (message.kind) { default: @@ -22139,9 +22995,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Kubernetes.Role} Role */ - Role.fromObject = function fromObject(object) { + Role.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Kubernetes.Role) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Kubernetes.Role(); switch (object.kind) { default: @@ -22266,7 +23126,7 @@ this.subjects = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22362,9 +23222,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Binding.decode = function decode(reader, length, error) { + Binding.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Kubernetes.Binding(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22380,17 +23244,17 @@ break; } case 3: { - message.role = $root.google.cloud.securitycenter.v1.Kubernetes.Role.decode(reader, reader.uint32()); + message.role = $root.google.cloud.securitycenter.v1.Kubernetes.Role.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { if (!(message.subjects && message.subjects.length)) message.subjects = []; - message.subjects.push($root.google.cloud.securitycenter.v1.Kubernetes.Subject.decode(reader, reader.uint32())); + message.subjects.push($root.google.cloud.securitycenter.v1.Kubernetes.Subject.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22421,9 +23285,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Binding.verify = function verify(message) { + Binding.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ns != null && message.hasOwnProperty("ns")) if (!$util.isString(message.ns)) return "ns: string expected"; @@ -22431,7 +23299,7 @@ if (!$util.isString(message.name)) return "name: string expected"; if (message.role != null && message.hasOwnProperty("role")) { - var error = $root.google.cloud.securitycenter.v1.Kubernetes.Role.verify(message.role); + var error = $root.google.cloud.securitycenter.v1.Kubernetes.Role.verify(message.role, long + 1); if (error) return "role." + error; } @@ -22439,7 +23307,7 @@ if (!Array.isArray(message.subjects)) return "subjects: array expected"; for (var i = 0; i < message.subjects.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Kubernetes.Subject.verify(message.subjects[i]); + var error = $root.google.cloud.securitycenter.v1.Kubernetes.Subject.verify(message.subjects[i], long + 1); if (error) return "subjects." + error; } @@ -22455,9 +23323,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Kubernetes.Binding} Binding */ - Binding.fromObject = function fromObject(object) { + Binding.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Kubernetes.Binding) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Kubernetes.Binding(); if (object.ns != null) message.ns = String(object.ns); @@ -22466,7 +23338,7 @@ if (object.role != null) { if (typeof object.role !== "object") throw TypeError(".google.cloud.securitycenter.v1.Kubernetes.Binding.role: object expected"); - message.role = $root.google.cloud.securitycenter.v1.Kubernetes.Role.fromObject(object.role); + message.role = $root.google.cloud.securitycenter.v1.Kubernetes.Role.fromObject(object.role, long + 1); } if (object.subjects) { if (!Array.isArray(object.subjects)) @@ -22475,7 +23347,7 @@ for (var i = 0; i < object.subjects.length; ++i) { if (typeof object.subjects[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Kubernetes.Binding.subjects: object expected"); - message.subjects[i] = $root.google.cloud.securitycenter.v1.Kubernetes.Subject.fromObject(object.subjects[i]); + message.subjects[i] = $root.google.cloud.securitycenter.v1.Kubernetes.Subject.fromObject(object.subjects[i], long + 1); } } return message; @@ -22566,7 +23438,7 @@ function Subject(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22651,9 +23523,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Subject.decode = function decode(reader, length, error) { + Subject.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Kubernetes.Subject(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22673,7 +23549,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22704,9 +23580,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Subject.verify = function verify(message) { + Subject.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.kind != null && message.hasOwnProperty("kind")) switch (message.kind) { default: @@ -22734,9 +23614,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Kubernetes.Subject} Subject */ - Subject.fromObject = function fromObject(object) { + Subject.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Kubernetes.Subject) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Kubernetes.Subject(); switch (object.kind) { default: @@ -22869,7 +23753,7 @@ function AccessReview(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22994,9 +23878,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccessReview.decode = function decode(reader, length, error) { + AccessReview.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Kubernetes.AccessReview(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23032,7 +23920,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23063,9 +23951,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AccessReview.verify = function verify(message) { + AccessReview.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.group != null && message.hasOwnProperty("group")) if (!$util.isString(message.group)) return "group: string expected"; @@ -23098,9 +23990,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Kubernetes.AccessReview} AccessReview */ - AccessReview.fromObject = function fromObject(object) { + AccessReview.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Kubernetes.AccessReview) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Kubernetes.AccessReview(); if (object.group != null) message.group = String(object.group); @@ -23212,7 +24108,7 @@ this.containers = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23318,9 +24214,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Object.decode = function decode(reader, length, error) { + Object.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Kubernetes.Object(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23346,11 +24246,11 @@ case 5: { if (!(message.containers && message.containers.length)) message.containers = []; - message.containers.push($root.google.cloud.securitycenter.v1.Container.decode(reader, reader.uint32())); + message.containers.push($root.google.cloud.securitycenter.v1.Container.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23381,9 +24281,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Object.verify = function verify(message) { + Object.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.group != null && message.hasOwnProperty("group")) if (!$util.isString(message.group)) return "group: string expected"; @@ -23400,7 +24304,7 @@ if (!Array.isArray(message.containers)) return "containers: array expected"; for (var i = 0; i < message.containers.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Container.verify(message.containers[i]); + var error = $root.google.cloud.securitycenter.v1.Container.verify(message.containers[i], long + 1); if (error) return "containers." + error; } @@ -23416,9 +24320,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Kubernetes.Object} Object */ - Object.fromObject = function fromObject(object) { + Object.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Kubernetes.Object) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Kubernetes.Object(); if (object.group != null) message.group = String(object.group); @@ -23435,7 +24343,7 @@ for (var i = 0; i < object.containers.length; ++i) { if (typeof object.containers[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Kubernetes.Object.containers: object expected"); - message.containers[i] = $root.google.cloud.securitycenter.v1.Container.fromObject(object.containers[i]); + message.containers[i] = $root.google.cloud.securitycenter.v1.Container.fromObject(object.containers[i], long + 1); } } return message; @@ -23530,7 +24438,7 @@ function LoadBalancer(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23595,9 +24503,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LoadBalancer.decode = function decode(reader, length, error) { + LoadBalancer.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.LoadBalancer(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23609,7 +24521,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23640,9 +24552,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LoadBalancer.verify = function verify(message) { + LoadBalancer.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -23657,9 +24573,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.LoadBalancer} LoadBalancer */ - LoadBalancer.fromObject = function fromObject(object) { + LoadBalancer.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.LoadBalancer) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.LoadBalancer(); if (object.name != null) message.name = String(object.name); @@ -23735,7 +24655,7 @@ function LogEntry(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23814,9 +24734,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LogEntry.decode = function decode(reader, length, error) { + LogEntry.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.LogEntry(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23824,11 +24748,11 @@ break; switch (tag >>> 3) { case 1: { - message.cloudLoggingEntry = $root.google.cloud.securitycenter.v1.CloudLoggingEntry.decode(reader, reader.uint32()); + message.cloudLoggingEntry = $root.google.cloud.securitycenter.v1.CloudLoggingEntry.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23859,14 +24783,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LogEntry.verify = function verify(message) { + LogEntry.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.cloudLoggingEntry != null && message.hasOwnProperty("cloudLoggingEntry")) { properties.logEntry = 1; { - var error = $root.google.cloud.securitycenter.v1.CloudLoggingEntry.verify(message.cloudLoggingEntry); + var error = $root.google.cloud.securitycenter.v1.CloudLoggingEntry.verify(message.cloudLoggingEntry, long + 1); if (error) return "cloudLoggingEntry." + error; } @@ -23882,14 +24810,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.LogEntry} LogEntry */ - LogEntry.fromObject = function fromObject(object) { + LogEntry.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.LogEntry) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.LogEntry(); if (object.cloudLoggingEntry != null) { if (typeof object.cloudLoggingEntry !== "object") throw TypeError(".google.cloud.securitycenter.v1.LogEntry.cloudLoggingEntry: object expected"); - message.cloudLoggingEntry = $root.google.cloud.securitycenter.v1.CloudLoggingEntry.fromObject(object.cloudLoggingEntry); + message.cloudLoggingEntry = $root.google.cloud.securitycenter.v1.CloudLoggingEntry.fromObject(object.cloudLoggingEntry, long + 1); } return message; }; @@ -23967,7 +24899,7 @@ function CloudLoggingEntry(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24062,9 +24994,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CloudLoggingEntry.decode = function decode(reader, length, error) { + CloudLoggingEntry.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CloudLoggingEntry(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24084,11 +25020,11 @@ break; } case 4: { - message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -24119,9 +25055,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CloudLoggingEntry.verify = function verify(message) { + CloudLoggingEntry.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.insertId != null && message.hasOwnProperty("insertId")) if (!$util.isString(message.insertId)) return "insertId: string expected"; @@ -24132,7 +25072,7 @@ if (!$util.isString(message.resourceContainer)) return "resourceContainer: string expected"; if (message.timestamp != null && message.hasOwnProperty("timestamp")) { - var error = $root.google.protobuf.Timestamp.verify(message.timestamp); + var error = $root.google.protobuf.Timestamp.verify(message.timestamp, long + 1); if (error) return "timestamp." + error; } @@ -24147,9 +25087,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CloudLoggingEntry} CloudLoggingEntry */ - CloudLoggingEntry.fromObject = function fromObject(object) { + CloudLoggingEntry.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CloudLoggingEntry) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CloudLoggingEntry(); if (object.insertId != null) message.insertId = String(object.insertId); @@ -24160,7 +25104,7 @@ if (object.timestamp != null) { if (typeof object.timestamp !== "object") throw TypeError(".google.cloud.securitycenter.v1.CloudLoggingEntry.timestamp: object expected"); - message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); + message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp, long + 1); } return message; }; @@ -24251,7 +25195,7 @@ this.additionalTechniques = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24368,9 +25312,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MitreAttack.decode = function decode(reader, length, error) { + MitreAttack.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.MitreAttack(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24419,7 +25367,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -24450,9 +25398,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MitreAttack.verify = function verify(message) { + MitreAttack.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.primaryTactic != null && message.hasOwnProperty("primaryTactic")) switch (message.primaryTactic) { default: @@ -24663,9 +25615,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.MitreAttack} MitreAttack */ - MitreAttack.fromObject = function fromObject(object) { + MitreAttack.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.MitreAttack) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.MitreAttack(); switch (object.primaryTactic) { default: @@ -25635,7 +26591,7 @@ function Notebook(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -25730,9 +26686,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Notebook.decode = function decode(reader, length, error) { + Notebook.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Notebook(); while (reader.pos < end) { var tag = reader.uint32(); @@ -25752,11 +26712,11 @@ break; } case 4: { - message.notebookUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.notebookUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -25787,9 +26747,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Notebook.verify = function verify(message) { + Notebook.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -25800,7 +26764,7 @@ if (!$util.isString(message.lastAuthor)) return "lastAuthor: string expected"; if (message.notebookUpdateTime != null && message.hasOwnProperty("notebookUpdateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.notebookUpdateTime); + var error = $root.google.protobuf.Timestamp.verify(message.notebookUpdateTime, long + 1); if (error) return "notebookUpdateTime." + error; } @@ -25815,9 +26779,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Notebook} Notebook */ - Notebook.fromObject = function fromObject(object) { + Notebook.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Notebook) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Notebook(); if (object.name != null) message.name = String(object.name); @@ -25828,7 +26796,7 @@ if (object.notebookUpdateTime != null) { if (typeof object.notebookUpdateTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.Notebook.notebookUpdateTime: object expected"); - message.notebookUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.notebookUpdateTime); + message.notebookUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.notebookUpdateTime, long + 1); } return message; }; @@ -25912,7 +26880,7 @@ function OrgPolicy(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -25977,9 +26945,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OrgPolicy.decode = function decode(reader, length, error) { + OrgPolicy.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.OrgPolicy(); while (reader.pos < end) { var tag = reader.uint32(); @@ -25991,7 +26963,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -26022,9 +26994,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OrgPolicy.verify = function verify(message) { + OrgPolicy.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -26039,9 +27015,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.OrgPolicy} OrgPolicy */ - OrgPolicy.fromObject = function fromObject(object) { + OrgPolicy.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.OrgPolicy) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.OrgPolicy(); if (object.name != null) message.name = String(object.name); @@ -26129,7 +27109,7 @@ this.envVariables = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -26287,9 +27267,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Process.decode = function decode(reader, length, error) { + Process.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Process(); while (reader.pos < end) { var tag = reader.uint32(); @@ -26301,17 +27285,17 @@ break; } case 3: { - message.binary = $root.google.cloud.securitycenter.v1.File.decode(reader, reader.uint32()); + message.binary = $root.google.cloud.securitycenter.v1.File.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { if (!(message.libraries && message.libraries.length)) message.libraries = []; - message.libraries.push($root.google.cloud.securitycenter.v1.File.decode(reader, reader.uint32())); + message.libraries.push($root.google.cloud.securitycenter.v1.File.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { - message.script = $root.google.cloud.securitycenter.v1.File.decode(reader, reader.uint32()); + message.script = $root.google.cloud.securitycenter.v1.File.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { @@ -26327,7 +27311,7 @@ case 8: { if (!(message.envVariables && message.envVariables.length)) message.envVariables = []; - message.envVariables.push($root.google.cloud.securitycenter.v1.EnvironmentVariable.decode(reader, reader.uint32())); + message.envVariables.push($root.google.cloud.securitycenter.v1.EnvironmentVariable.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 9: { @@ -26343,7 +27327,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -26374,14 +27358,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Process.verify = function verify(message) { + Process.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.binary != null && message.hasOwnProperty("binary")) { - var error = $root.google.cloud.securitycenter.v1.File.verify(message.binary); + var error = $root.google.cloud.securitycenter.v1.File.verify(message.binary, long + 1); if (error) return "binary." + error; } @@ -26389,13 +27377,13 @@ if (!Array.isArray(message.libraries)) return "libraries: array expected"; for (var i = 0; i < message.libraries.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.File.verify(message.libraries[i]); + var error = $root.google.cloud.securitycenter.v1.File.verify(message.libraries[i], long + 1); if (error) return "libraries." + error; } } if (message.script != null && message.hasOwnProperty("script")) { - var error = $root.google.cloud.securitycenter.v1.File.verify(message.script); + var error = $root.google.cloud.securitycenter.v1.File.verify(message.script, long + 1); if (error) return "script." + error; } @@ -26413,7 +27401,7 @@ if (!Array.isArray(message.envVariables)) return "envVariables: array expected"; for (var i = 0; i < message.envVariables.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.EnvironmentVariable.verify(message.envVariables[i]); + var error = $root.google.cloud.securitycenter.v1.EnvironmentVariable.verify(message.envVariables[i], long + 1); if (error) return "envVariables." + error; } @@ -26438,16 +27426,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Process} Process */ - Process.fromObject = function fromObject(object) { + Process.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Process) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Process(); if (object.name != null) message.name = String(object.name); if (object.binary != null) { if (typeof object.binary !== "object") throw TypeError(".google.cloud.securitycenter.v1.Process.binary: object expected"); - message.binary = $root.google.cloud.securitycenter.v1.File.fromObject(object.binary); + message.binary = $root.google.cloud.securitycenter.v1.File.fromObject(object.binary, long + 1); } if (object.libraries) { if (!Array.isArray(object.libraries)) @@ -26456,13 +27448,13 @@ for (var i = 0; i < object.libraries.length; ++i) { if (typeof object.libraries[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Process.libraries: object expected"); - message.libraries[i] = $root.google.cloud.securitycenter.v1.File.fromObject(object.libraries[i]); + message.libraries[i] = $root.google.cloud.securitycenter.v1.File.fromObject(object.libraries[i], long + 1); } } if (object.script != null) { if (typeof object.script !== "object") throw TypeError(".google.cloud.securitycenter.v1.Process.script: object expected"); - message.script = $root.google.cloud.securitycenter.v1.File.fromObject(object.script); + message.script = $root.google.cloud.securitycenter.v1.File.fromObject(object.script, long + 1); } if (object.args) { if (!Array.isArray(object.args)) @@ -26480,7 +27472,7 @@ for (var i = 0; i < object.envVariables.length; ++i) { if (typeof object.envVariables[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Process.envVariables: object expected"); - message.envVariables[i] = $root.google.cloud.securitycenter.v1.EnvironmentVariable.fromObject(object.envVariables[i]); + message.envVariables[i] = $root.google.cloud.securitycenter.v1.EnvironmentVariable.fromObject(object.envVariables[i], long + 1); } } if (object.envVariablesTruncated != null) @@ -26629,7 +27621,7 @@ function EnvironmentVariable(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -26704,9 +27696,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnvironmentVariable.decode = function decode(reader, length, error) { + EnvironmentVariable.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.EnvironmentVariable(); while (reader.pos < end) { var tag = reader.uint32(); @@ -26722,7 +27718,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -26753,9 +27749,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnvironmentVariable.verify = function verify(message) { + EnvironmentVariable.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -26773,9 +27773,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.EnvironmentVariable} EnvironmentVariable */ - EnvironmentVariable.fromObject = function fromObject(object) { + EnvironmentVariable.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.EnvironmentVariable) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.EnvironmentVariable(); if (object.name != null) message.name = String(object.name); @@ -26865,7 +27869,7 @@ this.policyDriftDetails = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -27001,9 +28005,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityPosture.decode = function decode(reader, length, error) { + SecurityPosture.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.SecurityPosture(); while (reader.pos < end) { var tag = reader.uint32(); @@ -27041,11 +28049,11 @@ case 8: { if (!(message.policyDriftDetails && message.policyDriftDetails.length)) message.policyDriftDetails = []; - message.policyDriftDetails.push($root.google.cloud.securitycenter.v1.SecurityPosture.PolicyDriftDetails.decode(reader, reader.uint32())); + message.policyDriftDetails.push($root.google.cloud.securitycenter.v1.SecurityPosture.PolicyDriftDetails.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -27076,9 +28084,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityPosture.verify = function verify(message) { + SecurityPosture.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -27104,7 +28116,7 @@ if (!Array.isArray(message.policyDriftDetails)) return "policyDriftDetails: array expected"; for (var i = 0; i < message.policyDriftDetails.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.SecurityPosture.PolicyDriftDetails.verify(message.policyDriftDetails[i]); + var error = $root.google.cloud.securitycenter.v1.SecurityPosture.PolicyDriftDetails.verify(message.policyDriftDetails[i], long + 1); if (error) return "policyDriftDetails." + error; } @@ -27120,9 +28132,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.SecurityPosture} SecurityPosture */ - SecurityPosture.fromObject = function fromObject(object) { + SecurityPosture.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.SecurityPosture) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.SecurityPosture(); if (object.name != null) message.name = String(object.name); @@ -27145,7 +28161,7 @@ for (var i = 0; i < object.policyDriftDetails.length; ++i) { if (typeof object.policyDriftDetails[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.SecurityPosture.policyDriftDetails: object expected"); - message.policyDriftDetails[i] = $root.google.cloud.securitycenter.v1.SecurityPosture.PolicyDriftDetails.fromObject(object.policyDriftDetails[i]); + message.policyDriftDetails[i] = $root.google.cloud.securitycenter.v1.SecurityPosture.PolicyDriftDetails.fromObject(object.policyDriftDetails[i], long + 1); } } return message; @@ -27245,7 +28261,7 @@ function PolicyDriftDetails(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -27330,9 +28346,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyDriftDetails.decode = function decode(reader, length, error) { + PolicyDriftDetails.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.SecurityPosture.PolicyDriftDetails(); while (reader.pos < end) { var tag = reader.uint32(); @@ -27352,7 +28372,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -27383,9 +28403,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PolicyDriftDetails.verify = function verify(message) { + PolicyDriftDetails.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.field != null && message.hasOwnProperty("field")) if (!$util.isString(message.field)) return "field: string expected"; @@ -27406,9 +28430,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.SecurityPosture.PolicyDriftDetails} PolicyDriftDetails */ - PolicyDriftDetails.fromObject = function fromObject(object) { + PolicyDriftDetails.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.SecurityPosture.PolicyDriftDetails) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.SecurityPosture.PolicyDriftDetails(); if (object.field != null) message.field = String(object.field); @@ -27500,7 +28528,7 @@ this.relatedFindings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -27576,9 +28604,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ToxicCombination.decode = function decode(reader, length, error) { + ToxicCombination.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ToxicCombination(); while (reader.pos < end) { var tag = reader.uint32(); @@ -27596,7 +28628,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -27627,9 +28659,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ToxicCombination.verify = function verify(message) { + ToxicCombination.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.attackExposureScore != null && message.hasOwnProperty("attackExposureScore")) if (typeof message.attackExposureScore !== "number") return "attackExposureScore: number expected"; @@ -27651,9 +28687,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ToxicCombination} ToxicCombination */ - ToxicCombination.fromObject = function fromObject(object) { + ToxicCombination.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ToxicCombination) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ToxicCombination(); if (object.attackExposureScore != null) message.attackExposureScore = Number(object.attackExposureScore); @@ -27746,7 +28786,7 @@ function Vulnerability(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -27841,9 +28881,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Vulnerability.decode = function decode(reader, length, error) { + Vulnerability.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Vulnerability(); while (reader.pos < end) { var tag = reader.uint32(); @@ -27851,23 +28895,23 @@ break; switch (tag >>> 3) { case 1: { - message.cve = $root.google.cloud.securitycenter.v1.Cve.decode(reader, reader.uint32()); + message.cve = $root.google.cloud.securitycenter.v1.Cve.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.offendingPackage = $root.google.cloud.securitycenter.v1.Package.decode(reader, reader.uint32()); + message.offendingPackage = $root.google.cloud.securitycenter.v1.Package.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.fixedPackage = $root.google.cloud.securitycenter.v1.Package.decode(reader, reader.uint32()); + message.fixedPackage = $root.google.cloud.securitycenter.v1.Package.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.securityBulletin = $root.google.cloud.securitycenter.v1.SecurityBulletin.decode(reader, reader.uint32()); + message.securityBulletin = $root.google.cloud.securitycenter.v1.SecurityBulletin.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -27898,26 +28942,30 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Vulnerability.verify = function verify(message) { + Vulnerability.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.cve != null && message.hasOwnProperty("cve")) { - var error = $root.google.cloud.securitycenter.v1.Cve.verify(message.cve); + var error = $root.google.cloud.securitycenter.v1.Cve.verify(message.cve, long + 1); if (error) return "cve." + error; } if (message.offendingPackage != null && message.hasOwnProperty("offendingPackage")) { - var error = $root.google.cloud.securitycenter.v1.Package.verify(message.offendingPackage); + var error = $root.google.cloud.securitycenter.v1.Package.verify(message.offendingPackage, long + 1); if (error) return "offendingPackage." + error; } if (message.fixedPackage != null && message.hasOwnProperty("fixedPackage")) { - var error = $root.google.cloud.securitycenter.v1.Package.verify(message.fixedPackage); + var error = $root.google.cloud.securitycenter.v1.Package.verify(message.fixedPackage, long + 1); if (error) return "fixedPackage." + error; } if (message.securityBulletin != null && message.hasOwnProperty("securityBulletin")) { - var error = $root.google.cloud.securitycenter.v1.SecurityBulletin.verify(message.securityBulletin); + var error = $root.google.cloud.securitycenter.v1.SecurityBulletin.verify(message.securityBulletin, long + 1); if (error) return "securityBulletin." + error; } @@ -27932,29 +28980,33 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Vulnerability} Vulnerability */ - Vulnerability.fromObject = function fromObject(object) { + Vulnerability.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Vulnerability) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Vulnerability(); if (object.cve != null) { if (typeof object.cve !== "object") throw TypeError(".google.cloud.securitycenter.v1.Vulnerability.cve: object expected"); - message.cve = $root.google.cloud.securitycenter.v1.Cve.fromObject(object.cve); + message.cve = $root.google.cloud.securitycenter.v1.Cve.fromObject(object.cve, long + 1); } if (object.offendingPackage != null) { if (typeof object.offendingPackage !== "object") throw TypeError(".google.cloud.securitycenter.v1.Vulnerability.offendingPackage: object expected"); - message.offendingPackage = $root.google.cloud.securitycenter.v1.Package.fromObject(object.offendingPackage); + message.offendingPackage = $root.google.cloud.securitycenter.v1.Package.fromObject(object.offendingPackage, long + 1); } if (object.fixedPackage != null) { if (typeof object.fixedPackage !== "object") throw TypeError(".google.cloud.securitycenter.v1.Vulnerability.fixedPackage: object expected"); - message.fixedPackage = $root.google.cloud.securitycenter.v1.Package.fromObject(object.fixedPackage); + message.fixedPackage = $root.google.cloud.securitycenter.v1.Package.fromObject(object.fixedPackage, long + 1); } if (object.securityBulletin != null) { if (typeof object.securityBulletin !== "object") throw TypeError(".google.cloud.securitycenter.v1.Vulnerability.securityBulletin: object expected"); - message.securityBulletin = $root.google.cloud.securitycenter.v1.SecurityBulletin.fromObject(object.securityBulletin); + message.securityBulletin = $root.google.cloud.securitycenter.v1.SecurityBulletin.fromObject(object.securityBulletin, long + 1); } return message; }; @@ -28047,7 +29099,7 @@ this.references = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -28193,9 +29245,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Cve.decode = function decode(reader, length, error) { + Cve.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Cve(); while (reader.pos < end) { var tag = reader.uint32(); @@ -28209,11 +29265,11 @@ case 2: { if (!(message.references && message.references.length)) message.references = []; - message.references.push($root.google.cloud.securitycenter.v1.Reference.decode(reader, reader.uint32())); + message.references.push($root.google.cloud.securitycenter.v1.Reference.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.cvssv3 = $root.google.cloud.securitycenter.v1.Cvssv3.decode(reader, reader.uint32()); + message.cvssv3 = $root.google.cloud.securitycenter.v1.Cvssv3.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -28237,11 +29293,11 @@ break; } case 9: { - message.exploitReleaseDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.exploitReleaseDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -28272,9 +29328,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Cve.verify = function verify(message) { + Cve.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -28282,13 +29342,13 @@ if (!Array.isArray(message.references)) return "references: array expected"; for (var i = 0; i < message.references.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Reference.verify(message.references[i]); + var error = $root.google.cloud.securitycenter.v1.Reference.verify(message.references[i], long + 1); if (error) return "references." + error; } } if (message.cvssv3 != null && message.hasOwnProperty("cvssv3")) { - var error = $root.google.cloud.securitycenter.v1.Cvssv3.verify(message.cvssv3); + var error = $root.google.cloud.securitycenter.v1.Cvssv3.verify(message.cvssv3, long + 1); if (error) return "cvssv3." + error; } @@ -28325,7 +29385,7 @@ if (typeof message.zeroDay !== "boolean") return "zeroDay: boolean expected"; if (message.exploitReleaseDate != null && message.hasOwnProperty("exploitReleaseDate")) { - var error = $root.google.protobuf.Timestamp.verify(message.exploitReleaseDate); + var error = $root.google.protobuf.Timestamp.verify(message.exploitReleaseDate, long + 1); if (error) return "exploitReleaseDate." + error; } @@ -28340,9 +29400,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Cve} Cve */ - Cve.fromObject = function fromObject(object) { + Cve.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Cve) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Cve(); if (object.id != null) message.id = String(object.id); @@ -28353,13 +29417,13 @@ for (var i = 0; i < object.references.length; ++i) { if (typeof object.references[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Cve.references: object expected"); - message.references[i] = $root.google.cloud.securitycenter.v1.Reference.fromObject(object.references[i]); + message.references[i] = $root.google.cloud.securitycenter.v1.Reference.fromObject(object.references[i], long + 1); } } if (object.cvssv3 != null) { if (typeof object.cvssv3 !== "object") throw TypeError(".google.cloud.securitycenter.v1.Cve.cvssv3: object expected"); - message.cvssv3 = $root.google.cloud.securitycenter.v1.Cvssv3.fromObject(object.cvssv3); + message.cvssv3 = $root.google.cloud.securitycenter.v1.Cvssv3.fromObject(object.cvssv3, long + 1); } if (object.upstreamFixAvailable != null) message.upstreamFixAvailable = Boolean(object.upstreamFixAvailable); @@ -28430,7 +29494,7 @@ if (object.exploitReleaseDate != null) { if (typeof object.exploitReleaseDate !== "object") throw TypeError(".google.cloud.securitycenter.v1.Cve.exploitReleaseDate: object expected"); - message.exploitReleaseDate = $root.google.protobuf.Timestamp.fromObject(object.exploitReleaseDate); + message.exploitReleaseDate = $root.google.protobuf.Timestamp.fromObject(object.exploitReleaseDate, long + 1); } return message; }; @@ -28576,7 +29640,7 @@ function Reference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -28651,9 +29715,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Reference.decode = function decode(reader, length, error) { + Reference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Reference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -28669,7 +29737,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -28700,9 +29768,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Reference.verify = function verify(message) { + Reference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.source != null && message.hasOwnProperty("source")) if (!$util.isString(message.source)) return "source: string expected"; @@ -28720,9 +29792,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Reference} Reference */ - Reference.fromObject = function fromObject(object) { + Reference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Reference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Reference(); if (object.source != null) message.source = String(object.source); @@ -28812,7 +29888,7 @@ function Cvssv3(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -28957,9 +30033,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Cvssv3.decode = function decode(reader, length, error) { + Cvssv3.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Cvssv3(); while (reader.pos < end) { var tag = reader.uint32(); @@ -29003,7 +30083,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -29034,9 +30114,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Cvssv3.verify = function verify(message) { + Cvssv3.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.baseScore != null && message.hasOwnProperty("baseScore")) if (typeof message.baseScore !== "number") return "baseScore: number expected"; @@ -29129,9 +30213,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Cvssv3} Cvssv3 */ - Cvssv3.fromObject = function fromObject(object) { + Cvssv3.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Cvssv3) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Cvssv3(); if (object.baseScore != null) message.baseScore = Number(object.baseScore); @@ -29523,7 +30611,7 @@ function Package(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -29618,9 +30706,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Package.decode = function decode(reader, length, error) { + Package.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Package(); while (reader.pos < end) { var tag = reader.uint32(); @@ -29644,7 +30736,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -29675,9 +30767,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Package.verify = function verify(message) { + Package.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.packageName != null && message.hasOwnProperty("packageName")) if (!$util.isString(message.packageName)) return "packageName: string expected"; @@ -29701,9 +30797,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Package} Package */ - Package.fromObject = function fromObject(object) { + Package.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Package) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Package(); if (object.packageName != null) message.packageName = String(object.packageName); @@ -29797,7 +30897,7 @@ function SecurityBulletin(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -29882,9 +30982,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityBulletin.decode = function decode(reader, length, error) { + SecurityBulletin.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.SecurityBulletin(); while (reader.pos < end) { var tag = reader.uint32(); @@ -29896,7 +31000,7 @@ break; } case 2: { - message.submissionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.submissionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -29904,7 +31008,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -29935,14 +31039,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityBulletin.verify = function verify(message) { + SecurityBulletin.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bulletinId != null && message.hasOwnProperty("bulletinId")) if (!$util.isString(message.bulletinId)) return "bulletinId: string expected"; if (message.submissionTime != null && message.hasOwnProperty("submissionTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.submissionTime); + var error = $root.google.protobuf.Timestamp.verify(message.submissionTime, long + 1); if (error) return "submissionTime." + error; } @@ -29960,16 +31068,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.SecurityBulletin} SecurityBulletin */ - SecurityBulletin.fromObject = function fromObject(object) { + SecurityBulletin.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.SecurityBulletin) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.SecurityBulletin(); if (object.bulletinId != null) message.bulletinId = String(object.bulletinId); if (object.submissionTime != null) { if (typeof object.submissionTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.SecurityBulletin.submissionTime: object expected"); - message.submissionTime = $root.google.protobuf.Timestamp.fromObject(object.submissionTime); + message.submissionTime = $root.google.protobuf.Timestamp.fromObject(object.submissionTime, long + 1); } if (object.suggestedUpgradeVersion != null) message.suggestedUpgradeVersion = String(object.suggestedUpgradeVersion); @@ -30060,7 +31172,7 @@ function MuteConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -30205,9 +31317,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MuteConfig.decode = function decode(reader, length, error) { + MuteConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.MuteConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -30231,11 +31347,11 @@ break; } case 5: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -30247,11 +31363,11 @@ break; } case 9: { - message.expiryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.expiryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -30282,9 +31398,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MuteConfig.verify = function verify(message) { + MuteConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -30298,12 +31418,12 @@ if (!$util.isString(message.filter)) return "filter: string expected"; if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -30320,7 +31440,7 @@ break; } if (message.expiryTime != null && message.hasOwnProperty("expiryTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.expiryTime); + var error = $root.google.protobuf.Timestamp.verify(message.expiryTime, long + 1); if (error) return "expiryTime." + error; } @@ -30335,9 +31455,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.MuteConfig} MuteConfig */ - MuteConfig.fromObject = function fromObject(object) { + MuteConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.MuteConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.MuteConfig(); if (object.name != null) message.name = String(object.name); @@ -30350,12 +31474,12 @@ if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.MuteConfig.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.MuteConfig.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.mostRecentEditor != null) message.mostRecentEditor = String(object.mostRecentEditor); @@ -30382,7 +31506,7 @@ if (object.expiryTime != null) { if (typeof object.expiryTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.MuteConfig.expiryTime: object expected"); - message.expiryTime = $root.google.protobuf.Timestamp.fromObject(object.expiryTime); + message.expiryTime = $root.google.protobuf.Timestamp.fromObject(object.expiryTime, long + 1); } return message; }; @@ -30501,7 +31625,7 @@ function NotificationConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -30620,9 +31744,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NotificationConfig.decode = function decode(reader, length, error) { + NotificationConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.NotificationConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -30646,11 +31774,11 @@ break; } case 5: { - message.streamingConfig = $root.google.cloud.securitycenter.v1.NotificationConfig.StreamingConfig.decode(reader, reader.uint32()); + message.streamingConfig = $root.google.cloud.securitycenter.v1.NotificationConfig.StreamingConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -30681,9 +31809,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NotificationConfig.verify = function verify(message) { + NotificationConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) @@ -30700,7 +31832,7 @@ if (message.streamingConfig != null && message.hasOwnProperty("streamingConfig")) { properties.notifyConfig = 1; { - var error = $root.google.cloud.securitycenter.v1.NotificationConfig.StreamingConfig.verify(message.streamingConfig); + var error = $root.google.cloud.securitycenter.v1.NotificationConfig.StreamingConfig.verify(message.streamingConfig, long + 1); if (error) return "streamingConfig." + error; } @@ -30716,9 +31848,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.NotificationConfig} NotificationConfig */ - NotificationConfig.fromObject = function fromObject(object) { + NotificationConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.NotificationConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.NotificationConfig(); if (object.name != null) message.name = String(object.name); @@ -30731,7 +31867,7 @@ if (object.streamingConfig != null) { if (typeof object.streamingConfig !== "object") throw TypeError(".google.cloud.securitycenter.v1.NotificationConfig.streamingConfig: object expected"); - message.streamingConfig = $root.google.cloud.securitycenter.v1.NotificationConfig.StreamingConfig.fromObject(object.streamingConfig); + message.streamingConfig = $root.google.cloud.securitycenter.v1.NotificationConfig.StreamingConfig.fromObject(object.streamingConfig, long + 1); } return message; }; @@ -30817,7 +31953,7 @@ function StreamingConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -30882,9 +32018,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingConfig.decode = function decode(reader, length, error) { + StreamingConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.NotificationConfig.StreamingConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -30896,7 +32036,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -30927,9 +32067,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StreamingConfig.verify = function verify(message) { + StreamingConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.filter != null && message.hasOwnProperty("filter")) if (!$util.isString(message.filter)) return "filter: string expected"; @@ -30944,9 +32088,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.NotificationConfig.StreamingConfig} StreamingConfig */ - StreamingConfig.fromObject = function fromObject(object) { + StreamingConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.NotificationConfig.StreamingConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.NotificationConfig.StreamingConfig(); if (object.filter != null) message.filter = String(object.filter); @@ -31027,7 +32175,7 @@ function NotificationMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -31126,9 +32274,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NotificationMessage.decode = function decode(reader, length, error) { + NotificationMessage.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.NotificationMessage(); while (reader.pos < end) { var tag = reader.uint32(); @@ -31140,15 +32292,15 @@ break; } case 2: { - message.finding = $root.google.cloud.securitycenter.v1.Finding.decode(reader, reader.uint32()); + message.finding = $root.google.cloud.securitycenter.v1.Finding.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.resource = $root.google.cloud.securitycenter.v1.Resource.decode(reader, reader.uint32()); + message.resource = $root.google.cloud.securitycenter.v1.Resource.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -31179,9 +32331,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NotificationMessage.verify = function verify(message) { + NotificationMessage.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.notificationConfigName != null && message.hasOwnProperty("notificationConfigName")) if (!$util.isString(message.notificationConfigName)) @@ -31189,13 +32345,13 @@ if (message.finding != null && message.hasOwnProperty("finding")) { properties.event = 1; { - var error = $root.google.cloud.securitycenter.v1.Finding.verify(message.finding); + var error = $root.google.cloud.securitycenter.v1.Finding.verify(message.finding, long + 1); if (error) return "finding." + error; } } if (message.resource != null && message.hasOwnProperty("resource")) { - var error = $root.google.cloud.securitycenter.v1.Resource.verify(message.resource); + var error = $root.google.cloud.securitycenter.v1.Resource.verify(message.resource, long + 1); if (error) return "resource." + error; } @@ -31210,21 +32366,25 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.NotificationMessage} NotificationMessage */ - NotificationMessage.fromObject = function fromObject(object) { + NotificationMessage.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.NotificationMessage) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.NotificationMessage(); if (object.notificationConfigName != null) message.notificationConfigName = String(object.notificationConfigName); if (object.finding != null) { if (typeof object.finding !== "object") throw TypeError(".google.cloud.securitycenter.v1.NotificationMessage.finding: object expected"); - message.finding = $root.google.cloud.securitycenter.v1.Finding.fromObject(object.finding); + message.finding = $root.google.cloud.securitycenter.v1.Finding.fromObject(object.finding, long + 1); } if (object.resource != null) { if (typeof object.resource !== "object") throw TypeError(".google.cloud.securitycenter.v1.NotificationMessage.resource: object expected"); - message.resource = $root.google.cloud.securitycenter.v1.Resource.fromObject(object.resource); + message.resource = $root.google.cloud.securitycenter.v1.Resource.fromObject(object.resource, long + 1); } return message; }; @@ -31323,7 +32483,7 @@ this.folders = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -31553,9 +32713,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Resource.decode = function decode(reader, length, error) { + Resource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Resource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -31593,7 +32757,7 @@ case 7: { if (!(message.folders && message.folders.length)) message.folders = []; - message.folders.push($root.google.cloud.securitycenter.v1.Folder.decode(reader, reader.uint32())); + message.folders.push($root.google.cloud.securitycenter.v1.Folder.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 9: { @@ -31613,15 +32777,15 @@ break; } case 16: { - message.awsMetadata = $root.google.cloud.securitycenter.v1.AwsMetadata.decode(reader, reader.uint32()); + message.awsMetadata = $root.google.cloud.securitycenter.v1.AwsMetadata.decode(reader, reader.uint32(), undefined, long + 1); break; } case 17: { - message.azureMetadata = $root.google.cloud.securitycenter.v1.AzureMetadata.decode(reader, reader.uint32()); + message.azureMetadata = $root.google.cloud.securitycenter.v1.AzureMetadata.decode(reader, reader.uint32(), undefined, long + 1); break; } case 18: { - message.resourcePath = $root.google.cloud.securitycenter.v1.ResourcePath.decode(reader, reader.uint32()); + message.resourcePath = $root.google.cloud.securitycenter.v1.ResourcePath.decode(reader, reader.uint32(), undefined, long + 1); break; } case 19: { @@ -31629,7 +32793,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -31660,9 +32824,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Resource.verify = function verify(message) { + Resource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) @@ -31689,7 +32857,7 @@ if (!Array.isArray(message.folders)) return "folders: array expected"; for (var i = 0; i < message.folders.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Folder.verify(message.folders[i]); + var error = $root.google.cloud.securitycenter.v1.Folder.verify(message.folders[i], long + 1); if (error) return "folders." + error; } @@ -31716,7 +32884,7 @@ if (message.awsMetadata != null && message.hasOwnProperty("awsMetadata")) { properties.cloudProviderMetadata = 1; { - var error = $root.google.cloud.securitycenter.v1.AwsMetadata.verify(message.awsMetadata); + var error = $root.google.cloud.securitycenter.v1.AwsMetadata.verify(message.awsMetadata, long + 1); if (error) return "awsMetadata." + error; } @@ -31726,13 +32894,13 @@ return "cloudProviderMetadata: multiple values"; properties.cloudProviderMetadata = 1; { - var error = $root.google.cloud.securitycenter.v1.AzureMetadata.verify(message.azureMetadata); + var error = $root.google.cloud.securitycenter.v1.AzureMetadata.verify(message.azureMetadata, long + 1); if (error) return "azureMetadata." + error; } } if (message.resourcePath != null && message.hasOwnProperty("resourcePath")) { - var error = $root.google.cloud.securitycenter.v1.ResourcePath.verify(message.resourcePath); + var error = $root.google.cloud.securitycenter.v1.ResourcePath.verify(message.resourcePath, long + 1); if (error) return "resourcePath." + error; } @@ -31750,9 +32918,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Resource} Resource */ - Resource.fromObject = function fromObject(object) { + Resource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Resource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Resource(); if (object.name != null) message.name = String(object.name); @@ -31775,7 +32947,7 @@ for (var i = 0; i < object.folders.length; ++i) { if (typeof object.folders[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Resource.folders: object expected"); - message.folders[i] = $root.google.cloud.securitycenter.v1.Folder.fromObject(object.folders[i]); + message.folders[i] = $root.google.cloud.securitycenter.v1.Folder.fromObject(object.folders[i], long + 1); } } switch (object.cloudProvider) { @@ -31811,17 +32983,17 @@ if (object.awsMetadata != null) { if (typeof object.awsMetadata !== "object") throw TypeError(".google.cloud.securitycenter.v1.Resource.awsMetadata: object expected"); - message.awsMetadata = $root.google.cloud.securitycenter.v1.AwsMetadata.fromObject(object.awsMetadata); + message.awsMetadata = $root.google.cloud.securitycenter.v1.AwsMetadata.fromObject(object.awsMetadata, long + 1); } if (object.azureMetadata != null) { if (typeof object.azureMetadata !== "object") throw TypeError(".google.cloud.securitycenter.v1.Resource.azureMetadata: object expected"); - message.azureMetadata = $root.google.cloud.securitycenter.v1.AzureMetadata.fromObject(object.azureMetadata); + message.azureMetadata = $root.google.cloud.securitycenter.v1.AzureMetadata.fromObject(object.azureMetadata, long + 1); } if (object.resourcePath != null) { if (typeof object.resourcePath !== "object") throw TypeError(".google.cloud.securitycenter.v1.Resource.resourcePath: object expected"); - message.resourcePath = $root.google.cloud.securitycenter.v1.ResourcePath.fromObject(object.resourcePath); + message.resourcePath = $root.google.cloud.securitycenter.v1.ResourcePath.fromObject(object.resourcePath, long + 1); } if (object.resourcePathString != null) message.resourcePathString = String(object.resourcePathString); @@ -31972,7 +33144,7 @@ this.organizationalUnits = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32058,9 +33230,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AwsMetadata.decode = function decode(reader, length, error) { + AwsMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.AwsMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32068,21 +33244,21 @@ break; switch (tag >>> 3) { case 2: { - message.organization = $root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganization.decode(reader, reader.uint32()); + message.organization = $root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganization.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { if (!(message.organizationalUnits && message.organizationalUnits.length)) message.organizationalUnits = []; - message.organizationalUnits.push($root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganizationalUnit.decode(reader, reader.uint32())); + message.organizationalUnits.push($root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganizationalUnit.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { - message.account = $root.google.cloud.securitycenter.v1.AwsMetadata.AwsAccount.decode(reader, reader.uint32()); + message.account = $root.google.cloud.securitycenter.v1.AwsMetadata.AwsAccount.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32113,11 +33289,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AwsMetadata.verify = function verify(message) { + AwsMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.organization != null && message.hasOwnProperty("organization")) { - var error = $root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganization.verify(message.organization); + var error = $root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganization.verify(message.organization, long + 1); if (error) return "organization." + error; } @@ -32125,13 +33305,13 @@ if (!Array.isArray(message.organizationalUnits)) return "organizationalUnits: array expected"; for (var i = 0; i < message.organizationalUnits.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganizationalUnit.verify(message.organizationalUnits[i]); + var error = $root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganizationalUnit.verify(message.organizationalUnits[i], long + 1); if (error) return "organizationalUnits." + error; } } if (message.account != null && message.hasOwnProperty("account")) { - var error = $root.google.cloud.securitycenter.v1.AwsMetadata.AwsAccount.verify(message.account); + var error = $root.google.cloud.securitycenter.v1.AwsMetadata.AwsAccount.verify(message.account, long + 1); if (error) return "account." + error; } @@ -32146,14 +33326,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.AwsMetadata} AwsMetadata */ - AwsMetadata.fromObject = function fromObject(object) { + AwsMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.AwsMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.AwsMetadata(); if (object.organization != null) { if (typeof object.organization !== "object") throw TypeError(".google.cloud.securitycenter.v1.AwsMetadata.organization: object expected"); - message.organization = $root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganization.fromObject(object.organization); + message.organization = $root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganization.fromObject(object.organization, long + 1); } if (object.organizationalUnits) { if (!Array.isArray(object.organizationalUnits)) @@ -32162,13 +33346,13 @@ for (var i = 0; i < object.organizationalUnits.length; ++i) { if (typeof object.organizationalUnits[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.AwsMetadata.organizationalUnits: object expected"); - message.organizationalUnits[i] = $root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganizationalUnit.fromObject(object.organizationalUnits[i]); + message.organizationalUnits[i] = $root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganizationalUnit.fromObject(object.organizationalUnits[i], long + 1); } } if (object.account != null) { if (typeof object.account !== "object") throw TypeError(".google.cloud.securitycenter.v1.AwsMetadata.account: object expected"); - message.account = $root.google.cloud.securitycenter.v1.AwsMetadata.AwsAccount.fromObject(object.account); + message.account = $root.google.cloud.securitycenter.v1.AwsMetadata.AwsAccount.fromObject(object.account, long + 1); } return message; }; @@ -32250,7 +33434,7 @@ function AwsOrganization(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32315,9 +33499,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AwsOrganization.decode = function decode(reader, length, error) { + AwsOrganization.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganization(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32329,7 +33517,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32360,9 +33548,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AwsOrganization.verify = function verify(message) { + AwsOrganization.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -32377,9 +33569,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.AwsMetadata.AwsOrganization} AwsOrganization */ - AwsOrganization.fromObject = function fromObject(object) { + AwsOrganization.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganization) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganization(); if (object.id != null) message.id = String(object.id); @@ -32456,7 +33652,7 @@ function AwsOrganizationalUnit(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32531,9 +33727,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AwsOrganizationalUnit.decode = function decode(reader, length, error) { + AwsOrganizationalUnit.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganizationalUnit(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32549,7 +33749,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32580,9 +33780,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AwsOrganizationalUnit.verify = function verify(message) { + AwsOrganizationalUnit.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -32600,9 +33804,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.AwsMetadata.AwsOrganizationalUnit} AwsOrganizationalUnit */ - AwsOrganizationalUnit.fromObject = function fromObject(object) { + AwsOrganizationalUnit.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganizationalUnit) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.AwsMetadata.AwsOrganizationalUnit(); if (object.id != null) message.id = String(object.id); @@ -32685,7 +33893,7 @@ function AwsAccount(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32760,9 +33968,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AwsAccount.decode = function decode(reader, length, error) { + AwsAccount.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.AwsMetadata.AwsAccount(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32778,7 +33990,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32809,9 +34021,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AwsAccount.verify = function verify(message) { + AwsAccount.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -32829,9 +34045,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.AwsMetadata.AwsAccount} AwsAccount */ - AwsAccount.fromObject = function fromObject(object) { + AwsAccount.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.AwsMetadata.AwsAccount) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.AwsMetadata.AwsAccount(); if (object.id != null) message.id = String(object.id); @@ -32919,7 +34139,7 @@ this.managementGroups = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33005,9 +34225,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AzureMetadata.decode = function decode(reader, length, error) { + AzureMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.AzureMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33017,19 +34241,19 @@ case 4: { if (!(message.managementGroups && message.managementGroups.length)) message.managementGroups = []; - message.managementGroups.push($root.google.cloud.securitycenter.v1.AzureMetadata.AzureManagementGroup.decode(reader, reader.uint32())); + message.managementGroups.push($root.google.cloud.securitycenter.v1.AzureMetadata.AzureManagementGroup.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { - message.subscription = $root.google.cloud.securitycenter.v1.AzureMetadata.AzureSubscription.decode(reader, reader.uint32()); + message.subscription = $root.google.cloud.securitycenter.v1.AzureMetadata.AzureSubscription.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.resourceGroup = $root.google.cloud.securitycenter.v1.AzureMetadata.AzureResourceGroup.decode(reader, reader.uint32()); + message.resourceGroup = $root.google.cloud.securitycenter.v1.AzureMetadata.AzureResourceGroup.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33060,25 +34284,29 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AzureMetadata.verify = function verify(message) { + AzureMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.managementGroups != null && message.hasOwnProperty("managementGroups")) { if (!Array.isArray(message.managementGroups)) return "managementGroups: array expected"; for (var i = 0; i < message.managementGroups.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.AzureMetadata.AzureManagementGroup.verify(message.managementGroups[i]); + var error = $root.google.cloud.securitycenter.v1.AzureMetadata.AzureManagementGroup.verify(message.managementGroups[i], long + 1); if (error) return "managementGroups." + error; } } if (message.subscription != null && message.hasOwnProperty("subscription")) { - var error = $root.google.cloud.securitycenter.v1.AzureMetadata.AzureSubscription.verify(message.subscription); + var error = $root.google.cloud.securitycenter.v1.AzureMetadata.AzureSubscription.verify(message.subscription, long + 1); if (error) return "subscription." + error; } if (message.resourceGroup != null && message.hasOwnProperty("resourceGroup")) { - var error = $root.google.cloud.securitycenter.v1.AzureMetadata.AzureResourceGroup.verify(message.resourceGroup); + var error = $root.google.cloud.securitycenter.v1.AzureMetadata.AzureResourceGroup.verify(message.resourceGroup, long + 1); if (error) return "resourceGroup." + error; } @@ -33093,9 +34321,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.AzureMetadata} AzureMetadata */ - AzureMetadata.fromObject = function fromObject(object) { + AzureMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.AzureMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.AzureMetadata(); if (object.managementGroups) { if (!Array.isArray(object.managementGroups)) @@ -33104,18 +34336,18 @@ for (var i = 0; i < object.managementGroups.length; ++i) { if (typeof object.managementGroups[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.AzureMetadata.managementGroups: object expected"); - message.managementGroups[i] = $root.google.cloud.securitycenter.v1.AzureMetadata.AzureManagementGroup.fromObject(object.managementGroups[i]); + message.managementGroups[i] = $root.google.cloud.securitycenter.v1.AzureMetadata.AzureManagementGroup.fromObject(object.managementGroups[i], long + 1); } } if (object.subscription != null) { if (typeof object.subscription !== "object") throw TypeError(".google.cloud.securitycenter.v1.AzureMetadata.subscription: object expected"); - message.subscription = $root.google.cloud.securitycenter.v1.AzureMetadata.AzureSubscription.fromObject(object.subscription); + message.subscription = $root.google.cloud.securitycenter.v1.AzureMetadata.AzureSubscription.fromObject(object.subscription, long + 1); } if (object.resourceGroup != null) { if (typeof object.resourceGroup !== "object") throw TypeError(".google.cloud.securitycenter.v1.AzureMetadata.resourceGroup: object expected"); - message.resourceGroup = $root.google.cloud.securitycenter.v1.AzureMetadata.AzureResourceGroup.fromObject(object.resourceGroup); + message.resourceGroup = $root.google.cloud.securitycenter.v1.AzureMetadata.AzureResourceGroup.fromObject(object.resourceGroup, long + 1); } return message; }; @@ -33198,7 +34430,7 @@ function AzureManagementGroup(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33273,9 +34505,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AzureManagementGroup.decode = function decode(reader, length, error) { + AzureManagementGroup.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.AzureMetadata.AzureManagementGroup(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33291,7 +34527,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33322,9 +34558,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AzureManagementGroup.verify = function verify(message) { + AzureManagementGroup.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -33342,9 +34582,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.AzureMetadata.AzureManagementGroup} AzureManagementGroup */ - AzureManagementGroup.fromObject = function fromObject(object) { + AzureManagementGroup.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.AzureMetadata.AzureManagementGroup) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.AzureMetadata.AzureManagementGroup(); if (object.id != null) message.id = String(object.id); @@ -33427,7 +34671,7 @@ function AzureSubscription(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33502,9 +34746,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AzureSubscription.decode = function decode(reader, length, error) { + AzureSubscription.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.AzureMetadata.AzureSubscription(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33520,7 +34768,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33551,9 +34799,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AzureSubscription.verify = function verify(message) { + AzureSubscription.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -33571,9 +34823,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.AzureMetadata.AzureSubscription} AzureSubscription */ - AzureSubscription.fromObject = function fromObject(object) { + AzureSubscription.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.AzureMetadata.AzureSubscription) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.AzureMetadata.AzureSubscription(); if (object.id != null) message.id = String(object.id); @@ -33655,7 +34911,7 @@ function AzureResourceGroup(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33720,9 +34976,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AzureResourceGroup.decode = function decode(reader, length, error) { + AzureResourceGroup.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.AzureMetadata.AzureResourceGroup(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33734,7 +34994,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33765,9 +35025,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AzureResourceGroup.verify = function verify(message) { + AzureResourceGroup.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -33782,9 +35046,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.AzureMetadata.AzureResourceGroup} AzureResourceGroup */ - AzureResourceGroup.fromObject = function fromObject(object) { + AzureResourceGroup.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.AzureMetadata.AzureResourceGroup) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.AzureMetadata.AzureResourceGroup(); if (object.name != null) message.name = String(object.name); @@ -33864,7 +35132,7 @@ this.nodes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33930,9 +35198,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourcePath.decode = function decode(reader, length, error) { + ResourcePath.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ResourcePath(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33942,11 +35214,11 @@ case 1: { if (!(message.nodes && message.nodes.length)) message.nodes = []; - message.nodes.push($root.google.cloud.securitycenter.v1.ResourcePath.ResourcePathNode.decode(reader, reader.uint32())); + message.nodes.push($root.google.cloud.securitycenter.v1.ResourcePath.ResourcePathNode.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33977,14 +35249,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourcePath.verify = function verify(message) { + ResourcePath.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.nodes != null && message.hasOwnProperty("nodes")) { if (!Array.isArray(message.nodes)) return "nodes: array expected"; for (var i = 0; i < message.nodes.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.ResourcePath.ResourcePathNode.verify(message.nodes[i]); + var error = $root.google.cloud.securitycenter.v1.ResourcePath.ResourcePathNode.verify(message.nodes[i], long + 1); if (error) return "nodes." + error; } @@ -34000,9 +35276,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ResourcePath} ResourcePath */ - ResourcePath.fromObject = function fromObject(object) { + ResourcePath.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ResourcePath) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ResourcePath(); if (object.nodes) { if (!Array.isArray(object.nodes)) @@ -34011,7 +35291,7 @@ for (var i = 0; i < object.nodes.length; ++i) { if (typeof object.nodes[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ResourcePath.nodes: object expected"); - message.nodes[i] = $root.google.cloud.securitycenter.v1.ResourcePath.ResourcePathNode.fromObject(object.nodes[i]); + message.nodes[i] = $root.google.cloud.securitycenter.v1.ResourcePath.ResourcePathNode.fromObject(object.nodes[i], long + 1); } } return message; @@ -34118,7 +35398,7 @@ function ResourcePathNode(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -34203,9 +35483,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourcePathNode.decode = function decode(reader, length, error) { + ResourcePathNode.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ResourcePath.ResourcePathNode(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34225,7 +35509,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34256,9 +35540,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourcePathNode.verify = function verify(message) { + ResourcePathNode.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.nodeType != null && message.hasOwnProperty("nodeType")) switch (message.nodeType) { default: @@ -34292,9 +35580,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ResourcePath.ResourcePathNode} ResourcePathNode */ - ResourcePathNode.fromObject = function fromObject(object) { + ResourcePathNode.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ResourcePath.ResourcePathNode) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ResourcePath.ResourcePathNode(); switch (object.nodeType) { default: @@ -34432,7 +35724,7 @@ function OrganizationSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -34517,9 +35809,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OrganizationSettings.decode = function decode(reader, length, error) { + OrganizationSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.OrganizationSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34535,11 +35831,11 @@ break; } case 3: { - message.assetDiscoveryConfig = $root.google.cloud.securitycenter.v1.OrganizationSettings.AssetDiscoveryConfig.decode(reader, reader.uint32()); + message.assetDiscoveryConfig = $root.google.cloud.securitycenter.v1.OrganizationSettings.AssetDiscoveryConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34570,9 +35866,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OrganizationSettings.verify = function verify(message) { + OrganizationSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -34580,7 +35880,7 @@ if (typeof message.enableAssetDiscovery !== "boolean") return "enableAssetDiscovery: boolean expected"; if (message.assetDiscoveryConfig != null && message.hasOwnProperty("assetDiscoveryConfig")) { - var error = $root.google.cloud.securitycenter.v1.OrganizationSettings.AssetDiscoveryConfig.verify(message.assetDiscoveryConfig); + var error = $root.google.cloud.securitycenter.v1.OrganizationSettings.AssetDiscoveryConfig.verify(message.assetDiscoveryConfig, long + 1); if (error) return "assetDiscoveryConfig." + error; } @@ -34595,9 +35895,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.OrganizationSettings} OrganizationSettings */ - OrganizationSettings.fromObject = function fromObject(object) { + OrganizationSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.OrganizationSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.OrganizationSettings(); if (object.name != null) message.name = String(object.name); @@ -34606,7 +35910,7 @@ if (object.assetDiscoveryConfig != null) { if (typeof object.assetDiscoveryConfig !== "object") throw TypeError(".google.cloud.securitycenter.v1.OrganizationSettings.assetDiscoveryConfig: object expected"); - message.assetDiscoveryConfig = $root.google.cloud.securitycenter.v1.OrganizationSettings.AssetDiscoveryConfig.fromObject(object.assetDiscoveryConfig); + message.assetDiscoveryConfig = $root.google.cloud.securitycenter.v1.OrganizationSettings.AssetDiscoveryConfig.fromObject(object.assetDiscoveryConfig, long + 1); } return message; }; @@ -34688,7 +35992,7 @@ this.folderIds = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -34775,9 +36079,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetDiscoveryConfig.decode = function decode(reader, length, error) { + AssetDiscoveryConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.OrganizationSettings.AssetDiscoveryConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34801,7 +36109,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34832,9 +36140,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AssetDiscoveryConfig.verify = function verify(message) { + AssetDiscoveryConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.projectIds != null && message.hasOwnProperty("projectIds")) { if (!Array.isArray(message.projectIds)) return "projectIds: array expected"; @@ -34869,9 +36181,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.OrganizationSettings.AssetDiscoveryConfig} AssetDiscoveryConfig */ - AssetDiscoveryConfig.fromObject = function fromObject(object) { + AssetDiscoveryConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.OrganizationSettings.AssetDiscoveryConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.OrganizationSettings.AssetDiscoveryConfig(); if (object.projectIds) { if (!Array.isArray(object.projectIds)) @@ -35024,7 +36340,7 @@ this.resourceLabelsSelector = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -35191,9 +36507,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceValueConfig.decode = function decode(reader, length, error) { + ResourceValueConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ResourceValueConfig(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -35238,10 +36558,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.resourceLabelsSelector, key); message.resourceLabelsSelector[key] = value; break; } @@ -35250,11 +36572,11 @@ break; } case 8: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { @@ -35262,11 +36584,11 @@ break; } case 11: { - message.sensitiveDataProtectionMapping = $root.google.cloud.securitycenter.v1.ResourceValueConfig.SensitiveDataProtectionMapping.decode(reader, reader.uint32()); + message.sensitiveDataProtectionMapping = $root.google.cloud.securitycenter.v1.ResourceValueConfig.SensitiveDataProtectionMapping.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -35297,9 +36619,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceValueConfig.verify = function verify(message) { + ResourceValueConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -35339,12 +36665,12 @@ if (!$util.isString(message.description)) return "description: string expected"; if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -35359,7 +36685,7 @@ break; } if (message.sensitiveDataProtectionMapping != null && message.hasOwnProperty("sensitiveDataProtectionMapping")) { - var error = $root.google.cloud.securitycenter.v1.ResourceValueConfig.SensitiveDataProtectionMapping.verify(message.sensitiveDataProtectionMapping); + var error = $root.google.cloud.securitycenter.v1.ResourceValueConfig.SensitiveDataProtectionMapping.verify(message.sensitiveDataProtectionMapping, long + 1); if (error) return "sensitiveDataProtectionMapping." + error; } @@ -35374,9 +36700,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ResourceValueConfig} ResourceValueConfig */ - ResourceValueConfig.fromObject = function fromObject(object) { + ResourceValueConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ResourceValueConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ResourceValueConfig(); if (object.name != null) message.name = String(object.name); @@ -35423,20 +36753,23 @@ if (typeof object.resourceLabelsSelector !== "object") throw TypeError(".google.cloud.securitycenter.v1.ResourceValueConfig.resourceLabelsSelector: object expected"); message.resourceLabelsSelector = {}; - for (var keys = Object.keys(object.resourceLabelsSelector), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.resourceLabelsSelector), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.resourceLabelsSelector, keys[i]); message.resourceLabelsSelector[keys[i]] = String(object.resourceLabelsSelector[keys[i]]); + } } if (object.description != null) message.description = String(object.description); if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.ResourceValueConfig.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.ResourceValueConfig.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } switch (object.cloudProvider) { default: @@ -35465,7 +36798,7 @@ if (object.sensitiveDataProtectionMapping != null) { if (typeof object.sensitiveDataProtectionMapping !== "object") throw TypeError(".google.cloud.securitycenter.v1.ResourceValueConfig.sensitiveDataProtectionMapping: object expected"); - message.sensitiveDataProtectionMapping = $root.google.cloud.securitycenter.v1.ResourceValueConfig.SensitiveDataProtectionMapping.fromObject(object.sensitiveDataProtectionMapping); + message.sensitiveDataProtectionMapping = $root.google.cloud.securitycenter.v1.ResourceValueConfig.SensitiveDataProtectionMapping.fromObject(object.sensitiveDataProtectionMapping, long + 1); } return message; }; @@ -35514,8 +36847,11 @@ var keys2; if (message.resourceLabelsSelector && (keys2 = Object.keys(message.resourceLabelsSelector)).length) { object.resourceLabelsSelector = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.resourceLabelsSelector, keys2[j]); object.resourceLabelsSelector[keys2[j]] = message.resourceLabelsSelector[keys2[j]]; + } } if (message.description != null && message.hasOwnProperty("description")) object.description = message.description; @@ -35577,7 +36913,7 @@ function SensitiveDataProtectionMapping(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -35652,9 +36988,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SensitiveDataProtectionMapping.decode = function decode(reader, length, error) { + SensitiveDataProtectionMapping.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ResourceValueConfig.SensitiveDataProtectionMapping(); while (reader.pos < end) { var tag = reader.uint32(); @@ -35670,7 +37010,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -35701,9 +37041,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SensitiveDataProtectionMapping.verify = function verify(message) { + SensitiveDataProtectionMapping.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.highSensitivityMapping != null && message.hasOwnProperty("highSensitivityMapping")) switch (message.highSensitivityMapping) { default: @@ -35737,9 +37081,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ResourceValueConfig.SensitiveDataProtectionMapping} SensitiveDataProtectionMapping */ - SensitiveDataProtectionMapping.fromObject = function fromObject(object) { + SensitiveDataProtectionMapping.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ResourceValueConfig.SensitiveDataProtectionMapping) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ResourceValueConfig.SensitiveDataProtectionMapping(); switch (object.highSensitivityMapping) { default: @@ -35897,7 +37245,7 @@ function RunAssetDiscoveryResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -35972,9 +37320,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RunAssetDiscoveryResponse.decode = function decode(reader, length, error) { + RunAssetDiscoveryResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.RunAssetDiscoveryResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -35986,11 +37338,11 @@ break; } case 2: { - message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -36021,9 +37373,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RunAssetDiscoveryResponse.verify = function verify(message) { + RunAssetDiscoveryResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.state != null && message.hasOwnProperty("state")) switch (message.state) { default: @@ -36035,7 +37391,7 @@ break; } if (message.duration != null && message.hasOwnProperty("duration")) { - var error = $root.google.protobuf.Duration.verify(message.duration); + var error = $root.google.protobuf.Duration.verify(message.duration, long + 1); if (error) return "duration." + error; } @@ -36050,9 +37406,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.RunAssetDiscoveryResponse} RunAssetDiscoveryResponse */ - RunAssetDiscoveryResponse.fromObject = function fromObject(object) { + RunAssetDiscoveryResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.RunAssetDiscoveryResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.RunAssetDiscoveryResponse(); switch (object.state) { default: @@ -36081,7 +37441,7 @@ if (object.duration != null) { if (typeof object.duration !== "object") throw TypeError(".google.cloud.securitycenter.v1.RunAssetDiscoveryResponse.duration: object expected"); - message.duration = $root.google.protobuf.Duration.fromObject(object.duration); + message.duration = $root.google.protobuf.Duration.fromObject(object.duration, long + 1); } return message; }; @@ -36183,7 +37543,7 @@ function SecurityHealthAnalyticsCustomModule(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -36308,9 +37668,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityHealthAnalyticsCustomModule.decode = function decode(reader, length, error) { + SecurityHealthAnalyticsCustomModule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -36330,7 +37694,7 @@ break; } case 5: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { @@ -36342,11 +37706,11 @@ break; } case 8: { - message.customConfig = $root.google.cloud.securitycenter.v1.CustomConfig.decode(reader, reader.uint32()); + message.customConfig = $root.google.cloud.securitycenter.v1.CustomConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -36377,9 +37741,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityHealthAnalyticsCustomModule.verify = function verify(message) { + SecurityHealthAnalyticsCustomModule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -36397,7 +37765,7 @@ break; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -36408,7 +37776,7 @@ if (!$util.isString(message.ancestorModule)) return "ancestorModule: string expected"; if (message.customConfig != null && message.hasOwnProperty("customConfig")) { - var error = $root.google.cloud.securitycenter.v1.CustomConfig.verify(message.customConfig); + var error = $root.google.cloud.securitycenter.v1.CustomConfig.verify(message.customConfig, long + 1); if (error) return "customConfig." + error; } @@ -36423,9 +37791,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule} SecurityHealthAnalyticsCustomModule */ - SecurityHealthAnalyticsCustomModule.fromObject = function fromObject(object) { + SecurityHealthAnalyticsCustomModule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule(); if (object.name != null) message.name = String(object.name); @@ -36458,7 +37830,7 @@ if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.lastEditor != null) message.lastEditor = String(object.lastEditor); @@ -36467,7 +37839,7 @@ if (object.customConfig != null) { if (typeof object.customConfig !== "object") throw TypeError(".google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.customConfig: object expected"); - message.customConfig = $root.google.cloud.securitycenter.v1.CustomConfig.fromObject(object.customConfig); + message.customConfig = $root.google.cloud.securitycenter.v1.CustomConfig.fromObject(object.customConfig, long + 1); } return message; }; @@ -38695,7 +40067,7 @@ function BulkMuteFindingsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -38790,9 +40162,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BulkMuteFindingsRequest.decode = function decode(reader, length, error) { + BulkMuteFindingsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.BulkMuteFindingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -38816,7 +40192,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -38847,9 +40223,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BulkMuteFindingsRequest.verify = function verify(message) { + BulkMuteFindingsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -38879,9 +40259,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.BulkMuteFindingsRequest} BulkMuteFindingsRequest */ - BulkMuteFindingsRequest.fromObject = function fromObject(object) { + BulkMuteFindingsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.BulkMuteFindingsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.BulkMuteFindingsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -39006,7 +40390,7 @@ function BulkMuteFindingsResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -39061,9 +40445,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BulkMuteFindingsResponse.decode = function decode(reader, length, error) { + BulkMuteFindingsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.BulkMuteFindingsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -39071,7 +40459,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -39102,9 +40490,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BulkMuteFindingsResponse.verify = function verify(message) { + BulkMuteFindingsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -39116,9 +40508,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.BulkMuteFindingsResponse} BulkMuteFindingsResponse */ - BulkMuteFindingsResponse.fromObject = function fromObject(object) { + BulkMuteFindingsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.BulkMuteFindingsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.securitycenter.v1.BulkMuteFindingsResponse(); }; @@ -39186,7 +40582,7 @@ function CreateFindingRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -39271,9 +40667,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateFindingRequest.decode = function decode(reader, length, error) { + CreateFindingRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CreateFindingRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -39289,11 +40689,11 @@ break; } case 3: { - message.finding = $root.google.cloud.securitycenter.v1.Finding.decode(reader, reader.uint32()); + message.finding = $root.google.cloud.securitycenter.v1.Finding.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -39324,9 +40724,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateFindingRequest.verify = function verify(message) { + CreateFindingRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -39334,7 +40738,7 @@ if (!$util.isString(message.findingId)) return "findingId: string expected"; if (message.finding != null && message.hasOwnProperty("finding")) { - var error = $root.google.cloud.securitycenter.v1.Finding.verify(message.finding); + var error = $root.google.cloud.securitycenter.v1.Finding.verify(message.finding, long + 1); if (error) return "finding." + error; } @@ -39349,9 +40753,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CreateFindingRequest} CreateFindingRequest */ - CreateFindingRequest.fromObject = function fromObject(object) { + CreateFindingRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CreateFindingRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CreateFindingRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -39360,7 +40768,7 @@ if (object.finding != null) { if (typeof object.finding !== "object") throw TypeError(".google.cloud.securitycenter.v1.CreateFindingRequest.finding: object expected"); - message.finding = $root.google.cloud.securitycenter.v1.Finding.fromObject(object.finding); + message.finding = $root.google.cloud.securitycenter.v1.Finding.fromObject(object.finding, long + 1); } return message; }; @@ -39443,7 +40851,7 @@ function CreateMuteConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -39528,9 +40936,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateMuteConfigRequest.decode = function decode(reader, length, error) { + CreateMuteConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CreateMuteConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -39542,7 +40954,7 @@ break; } case 2: { - message.muteConfig = $root.google.cloud.securitycenter.v1.MuteConfig.decode(reader, reader.uint32()); + message.muteConfig = $root.google.cloud.securitycenter.v1.MuteConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -39550,7 +40962,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -39581,14 +40993,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateMuteConfigRequest.verify = function verify(message) { + CreateMuteConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.muteConfig != null && message.hasOwnProperty("muteConfig")) { - var error = $root.google.cloud.securitycenter.v1.MuteConfig.verify(message.muteConfig); + var error = $root.google.cloud.securitycenter.v1.MuteConfig.verify(message.muteConfig, long + 1); if (error) return "muteConfig." + error; } @@ -39606,16 +41022,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CreateMuteConfigRequest} CreateMuteConfigRequest */ - CreateMuteConfigRequest.fromObject = function fromObject(object) { + CreateMuteConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CreateMuteConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CreateMuteConfigRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.muteConfig != null) { if (typeof object.muteConfig !== "object") throw TypeError(".google.cloud.securitycenter.v1.CreateMuteConfigRequest.muteConfig: object expected"); - message.muteConfig = $root.google.cloud.securitycenter.v1.MuteConfig.fromObject(object.muteConfig); + message.muteConfig = $root.google.cloud.securitycenter.v1.MuteConfig.fromObject(object.muteConfig, long + 1); } if (object.muteConfigId != null) message.muteConfigId = String(object.muteConfigId); @@ -39699,7 +41119,7 @@ function CreateResourceValueConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -39774,9 +41194,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateResourceValueConfigRequest.decode = function decode(reader, length, error) { + CreateResourceValueConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CreateResourceValueConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -39788,11 +41212,11 @@ break; } case 2: { - message.resourceValueConfig = $root.google.cloud.securitycenter.v1.ResourceValueConfig.decode(reader, reader.uint32()); + message.resourceValueConfig = $root.google.cloud.securitycenter.v1.ResourceValueConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -39823,14 +41247,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateResourceValueConfigRequest.verify = function verify(message) { + CreateResourceValueConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.resourceValueConfig != null && message.hasOwnProperty("resourceValueConfig")) { - var error = $root.google.cloud.securitycenter.v1.ResourceValueConfig.verify(message.resourceValueConfig); + var error = $root.google.cloud.securitycenter.v1.ResourceValueConfig.verify(message.resourceValueConfig, long + 1); if (error) return "resourceValueConfig." + error; } @@ -39845,16 +41273,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CreateResourceValueConfigRequest} CreateResourceValueConfigRequest */ - CreateResourceValueConfigRequest.fromObject = function fromObject(object) { + CreateResourceValueConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CreateResourceValueConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CreateResourceValueConfigRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.resourceValueConfig != null) { if (typeof object.resourceValueConfig !== "object") throw TypeError(".google.cloud.securitycenter.v1.CreateResourceValueConfigRequest.resourceValueConfig: object expected"); - message.resourceValueConfig = $root.google.cloud.securitycenter.v1.ResourceValueConfig.fromObject(object.resourceValueConfig); + message.resourceValueConfig = $root.google.cloud.securitycenter.v1.ResourceValueConfig.fromObject(object.resourceValueConfig, long + 1); } return message; }; @@ -39934,7 +41366,7 @@ this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -40010,9 +41442,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchCreateResourceValueConfigsRequest.decode = function decode(reader, length, error) { + BatchCreateResourceValueConfigsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.BatchCreateResourceValueConfigsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -40026,11 +41462,11 @@ case 2: { if (!(message.requests && message.requests.length)) message.requests = []; - message.requests.push($root.google.cloud.securitycenter.v1.CreateResourceValueConfigRequest.decode(reader, reader.uint32())); + message.requests.push($root.google.cloud.securitycenter.v1.CreateResourceValueConfigRequest.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -40061,9 +41497,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchCreateResourceValueConfigsRequest.verify = function verify(message) { + BatchCreateResourceValueConfigsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -40071,7 +41511,7 @@ if (!Array.isArray(message.requests)) return "requests: array expected"; for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.CreateResourceValueConfigRequest.verify(message.requests[i]); + var error = $root.google.cloud.securitycenter.v1.CreateResourceValueConfigRequest.verify(message.requests[i], long + 1); if (error) return "requests." + error; } @@ -40087,9 +41527,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.BatchCreateResourceValueConfigsRequest} BatchCreateResourceValueConfigsRequest */ - BatchCreateResourceValueConfigsRequest.fromObject = function fromObject(object) { + BatchCreateResourceValueConfigsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.BatchCreateResourceValueConfigsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.BatchCreateResourceValueConfigsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -40100,7 +41544,7 @@ for (var i = 0; i < object.requests.length; ++i) { if (typeof object.requests[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.BatchCreateResourceValueConfigsRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.securitycenter.v1.CreateResourceValueConfigRequest.fromObject(object.requests[i]); + message.requests[i] = $root.google.cloud.securitycenter.v1.CreateResourceValueConfigRequest.fromObject(object.requests[i], long + 1); } } return message; @@ -40183,7 +41627,7 @@ this.resourceValueConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -40249,9 +41693,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchCreateResourceValueConfigsResponse.decode = function decode(reader, length, error) { + BatchCreateResourceValueConfigsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.BatchCreateResourceValueConfigsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -40261,11 +41709,11 @@ case 1: { if (!(message.resourceValueConfigs && message.resourceValueConfigs.length)) message.resourceValueConfigs = []; - message.resourceValueConfigs.push($root.google.cloud.securitycenter.v1.ResourceValueConfig.decode(reader, reader.uint32())); + message.resourceValueConfigs.push($root.google.cloud.securitycenter.v1.ResourceValueConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -40296,14 +41744,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchCreateResourceValueConfigsResponse.verify = function verify(message) { + BatchCreateResourceValueConfigsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceValueConfigs != null && message.hasOwnProperty("resourceValueConfigs")) { if (!Array.isArray(message.resourceValueConfigs)) return "resourceValueConfigs: array expected"; for (var i = 0; i < message.resourceValueConfigs.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.ResourceValueConfig.verify(message.resourceValueConfigs[i]); + var error = $root.google.cloud.securitycenter.v1.ResourceValueConfig.verify(message.resourceValueConfigs[i], long + 1); if (error) return "resourceValueConfigs." + error; } @@ -40319,9 +41771,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.BatchCreateResourceValueConfigsResponse} BatchCreateResourceValueConfigsResponse */ - BatchCreateResourceValueConfigsResponse.fromObject = function fromObject(object) { + BatchCreateResourceValueConfigsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.BatchCreateResourceValueConfigsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.BatchCreateResourceValueConfigsResponse(); if (object.resourceValueConfigs) { if (!Array.isArray(object.resourceValueConfigs)) @@ -40330,7 +41786,7 @@ for (var i = 0; i < object.resourceValueConfigs.length; ++i) { if (typeof object.resourceValueConfigs[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.BatchCreateResourceValueConfigsResponse.resourceValueConfigs: object expected"); - message.resourceValueConfigs[i] = $root.google.cloud.securitycenter.v1.ResourceValueConfig.fromObject(object.resourceValueConfigs[i]); + message.resourceValueConfigs[i] = $root.google.cloud.securitycenter.v1.ResourceValueConfig.fromObject(object.resourceValueConfigs[i], long + 1); } } return message; @@ -40408,7 +41864,7 @@ function DeleteResourceValueConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -40473,9 +41929,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteResourceValueConfigRequest.decode = function decode(reader, length, error) { + DeleteResourceValueConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.DeleteResourceValueConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -40487,7 +41947,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -40518,9 +41978,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteResourceValueConfigRequest.verify = function verify(message) { + DeleteResourceValueConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -40535,9 +41999,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.DeleteResourceValueConfigRequest} DeleteResourceValueConfigRequest */ - DeleteResourceValueConfigRequest.fromObject = function fromObject(object) { + DeleteResourceValueConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.DeleteResourceValueConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.DeleteResourceValueConfigRequest(); if (object.name != null) message.name = String(object.name); @@ -40613,7 +42081,7 @@ function GetResourceValueConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -40678,9 +42146,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetResourceValueConfigRequest.decode = function decode(reader, length, error) { + GetResourceValueConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GetResourceValueConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -40692,7 +42164,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -40723,9 +42195,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetResourceValueConfigRequest.verify = function verify(message) { + GetResourceValueConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -40740,9 +42216,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GetResourceValueConfigRequest} GetResourceValueConfigRequest */ - GetResourceValueConfigRequest.fromObject = function fromObject(object) { + GetResourceValueConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GetResourceValueConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GetResourceValueConfigRequest(); if (object.name != null) message.name = String(object.name); @@ -40820,7 +42300,7 @@ function ListResourceValueConfigsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -40905,9 +42385,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListResourceValueConfigsRequest.decode = function decode(reader, length, error) { + ListResourceValueConfigsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListResourceValueConfigsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -40927,7 +42411,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -40958,9 +42442,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListResourceValueConfigsRequest.verify = function verify(message) { + ListResourceValueConfigsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -40981,9 +42469,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListResourceValueConfigsRequest} ListResourceValueConfigsRequest */ - ListResourceValueConfigsRequest.fromObject = function fromObject(object) { + ListResourceValueConfigsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListResourceValueConfigsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListResourceValueConfigsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -41072,7 +42564,7 @@ this.resourceValueConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -41148,9 +42640,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListResourceValueConfigsResponse.decode = function decode(reader, length, error) { + ListResourceValueConfigsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListResourceValueConfigsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -41160,7 +42656,7 @@ case 1: { if (!(message.resourceValueConfigs && message.resourceValueConfigs.length)) message.resourceValueConfigs = []; - message.resourceValueConfigs.push($root.google.cloud.securitycenter.v1.ResourceValueConfig.decode(reader, reader.uint32())); + message.resourceValueConfigs.push($root.google.cloud.securitycenter.v1.ResourceValueConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -41168,7 +42664,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -41199,14 +42695,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListResourceValueConfigsResponse.verify = function verify(message) { + ListResourceValueConfigsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceValueConfigs != null && message.hasOwnProperty("resourceValueConfigs")) { if (!Array.isArray(message.resourceValueConfigs)) return "resourceValueConfigs: array expected"; for (var i = 0; i < message.resourceValueConfigs.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.ResourceValueConfig.verify(message.resourceValueConfigs[i]); + var error = $root.google.cloud.securitycenter.v1.ResourceValueConfig.verify(message.resourceValueConfigs[i], long + 1); if (error) return "resourceValueConfigs." + error; } @@ -41225,9 +42725,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListResourceValueConfigsResponse} ListResourceValueConfigsResponse */ - ListResourceValueConfigsResponse.fromObject = function fromObject(object) { + ListResourceValueConfigsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListResourceValueConfigsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListResourceValueConfigsResponse(); if (object.resourceValueConfigs) { if (!Array.isArray(object.resourceValueConfigs)) @@ -41236,7 +42740,7 @@ for (var i = 0; i < object.resourceValueConfigs.length; ++i) { if (typeof object.resourceValueConfigs[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListResourceValueConfigsResponse.resourceValueConfigs: object expected"); - message.resourceValueConfigs[i] = $root.google.cloud.securitycenter.v1.ResourceValueConfig.fromObject(object.resourceValueConfigs[i]); + message.resourceValueConfigs[i] = $root.google.cloud.securitycenter.v1.ResourceValueConfig.fromObject(object.resourceValueConfigs[i], long + 1); } } if (object.nextPageToken != null) @@ -41321,7 +42825,7 @@ function UpdateResourceValueConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -41396,9 +42900,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateResourceValueConfigRequest.decode = function decode(reader, length, error) { + UpdateResourceValueConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.UpdateResourceValueConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -41406,15 +42914,15 @@ break; switch (tag >>> 3) { case 1: { - message.resourceValueConfig = $root.google.cloud.securitycenter.v1.ResourceValueConfig.decode(reader, reader.uint32()); + message.resourceValueConfig = $root.google.cloud.securitycenter.v1.ResourceValueConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -41445,16 +42953,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateResourceValueConfigRequest.verify = function verify(message) { + UpdateResourceValueConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceValueConfig != null && message.hasOwnProperty("resourceValueConfig")) { - var error = $root.google.cloud.securitycenter.v1.ResourceValueConfig.verify(message.resourceValueConfig); + var error = $root.google.cloud.securitycenter.v1.ResourceValueConfig.verify(message.resourceValueConfig, long + 1); if (error) return "resourceValueConfig." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -41469,19 +42981,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.UpdateResourceValueConfigRequest} UpdateResourceValueConfigRequest */ - UpdateResourceValueConfigRequest.fromObject = function fromObject(object) { + UpdateResourceValueConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.UpdateResourceValueConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.UpdateResourceValueConfigRequest(); if (object.resourceValueConfig != null) { if (typeof object.resourceValueConfig !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateResourceValueConfigRequest.resourceValueConfig: object expected"); - message.resourceValueConfig = $root.google.cloud.securitycenter.v1.ResourceValueConfig.fromObject(object.resourceValueConfig); + message.resourceValueConfig = $root.google.cloud.securitycenter.v1.ResourceValueConfig.fromObject(object.resourceValueConfig, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateResourceValueConfigRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -41561,7 +43077,7 @@ function CreateNotificationConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -41646,9 +43162,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateNotificationConfigRequest.decode = function decode(reader, length, error) { + CreateNotificationConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CreateNotificationConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -41664,11 +43184,11 @@ break; } case 3: { - message.notificationConfig = $root.google.cloud.securitycenter.v1.NotificationConfig.decode(reader, reader.uint32()); + message.notificationConfig = $root.google.cloud.securitycenter.v1.NotificationConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -41699,9 +43219,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateNotificationConfigRequest.verify = function verify(message) { + CreateNotificationConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -41709,7 +43233,7 @@ if (!$util.isString(message.configId)) return "configId: string expected"; if (message.notificationConfig != null && message.hasOwnProperty("notificationConfig")) { - var error = $root.google.cloud.securitycenter.v1.NotificationConfig.verify(message.notificationConfig); + var error = $root.google.cloud.securitycenter.v1.NotificationConfig.verify(message.notificationConfig, long + 1); if (error) return "notificationConfig." + error; } @@ -41724,9 +43248,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CreateNotificationConfigRequest} CreateNotificationConfigRequest */ - CreateNotificationConfigRequest.fromObject = function fromObject(object) { + CreateNotificationConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CreateNotificationConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CreateNotificationConfigRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -41735,7 +43263,7 @@ if (object.notificationConfig != null) { if (typeof object.notificationConfig !== "object") throw TypeError(".google.cloud.securitycenter.v1.CreateNotificationConfigRequest.notificationConfig: object expected"); - message.notificationConfig = $root.google.cloud.securitycenter.v1.NotificationConfig.fromObject(object.notificationConfig); + message.notificationConfig = $root.google.cloud.securitycenter.v1.NotificationConfig.fromObject(object.notificationConfig, long + 1); } return message; }; @@ -41817,7 +43345,7 @@ function CreateSecurityHealthAnalyticsCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -41892,9 +43420,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error) { + CreateSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CreateSecurityHealthAnalyticsCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -41906,11 +43438,11 @@ break; } case 2: { - message.securityHealthAnalyticsCustomModule = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32()); + message.securityHealthAnalyticsCustomModule = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -41941,14 +43473,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message) { + CreateSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.securityHealthAnalyticsCustomModule != null && message.hasOwnProperty("securityHealthAnalyticsCustomModule")) { - var error = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.verify(message.securityHealthAnalyticsCustomModule); + var error = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.verify(message.securityHealthAnalyticsCustomModule, long + 1); if (error) return "securityHealthAnalyticsCustomModule." + error; } @@ -41963,16 +43499,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CreateSecurityHealthAnalyticsCustomModuleRequest} CreateSecurityHealthAnalyticsCustomModuleRequest */ - CreateSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object) { + CreateSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CreateSecurityHealthAnalyticsCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CreateSecurityHealthAnalyticsCustomModuleRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.securityHealthAnalyticsCustomModule != null) { if (typeof object.securityHealthAnalyticsCustomModule !== "object") throw TypeError(".google.cloud.securitycenter.v1.CreateSecurityHealthAnalyticsCustomModuleRequest.securityHealthAnalyticsCustomModule: object expected"); - message.securityHealthAnalyticsCustomModule = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.fromObject(object.securityHealthAnalyticsCustomModule); + message.securityHealthAnalyticsCustomModule = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.fromObject(object.securityHealthAnalyticsCustomModule, long + 1); } return message; }; @@ -42051,7 +43591,7 @@ function CreateSourceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -42126,9 +43666,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateSourceRequest.decode = function decode(reader, length, error) { + CreateSourceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CreateSourceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -42140,11 +43684,11 @@ break; } case 2: { - message.source = $root.google.cloud.securitycenter.v1.Source.decode(reader, reader.uint32()); + message.source = $root.google.cloud.securitycenter.v1.Source.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -42175,14 +43719,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateSourceRequest.verify = function verify(message) { + CreateSourceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.source != null && message.hasOwnProperty("source")) { - var error = $root.google.cloud.securitycenter.v1.Source.verify(message.source); + var error = $root.google.cloud.securitycenter.v1.Source.verify(message.source, long + 1); if (error) return "source." + error; } @@ -42197,16 +43745,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CreateSourceRequest} CreateSourceRequest */ - CreateSourceRequest.fromObject = function fromObject(object) { + CreateSourceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CreateSourceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CreateSourceRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.source != null) { if (typeof object.source !== "object") throw TypeError(".google.cloud.securitycenter.v1.CreateSourceRequest.source: object expected"); - message.source = $root.google.cloud.securitycenter.v1.Source.fromObject(object.source); + message.source = $root.google.cloud.securitycenter.v1.Source.fromObject(object.source, long + 1); } return message; }; @@ -42284,7 +43836,7 @@ function DeleteMuteConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -42349,9 +43901,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteMuteConfigRequest.decode = function decode(reader, length, error) { + DeleteMuteConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.DeleteMuteConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -42363,7 +43919,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -42394,9 +43950,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteMuteConfigRequest.verify = function verify(message) { + DeleteMuteConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -42411,9 +43971,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.DeleteMuteConfigRequest} DeleteMuteConfigRequest */ - DeleteMuteConfigRequest.fromObject = function fromObject(object) { + DeleteMuteConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.DeleteMuteConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.DeleteMuteConfigRequest(); if (object.name != null) message.name = String(object.name); @@ -42489,7 +44053,7 @@ function DeleteNotificationConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -42554,9 +44118,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteNotificationConfigRequest.decode = function decode(reader, length, error) { + DeleteNotificationConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.DeleteNotificationConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -42568,7 +44136,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -42599,9 +44167,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteNotificationConfigRequest.verify = function verify(message) { + DeleteNotificationConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -42616,9 +44188,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.DeleteNotificationConfigRequest} DeleteNotificationConfigRequest */ - DeleteNotificationConfigRequest.fromObject = function fromObject(object) { + DeleteNotificationConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.DeleteNotificationConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.DeleteNotificationConfigRequest(); if (object.name != null) message.name = String(object.name); @@ -42694,7 +44270,7 @@ function DeleteSecurityHealthAnalyticsCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -42759,9 +44335,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error) { + DeleteSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.DeleteSecurityHealthAnalyticsCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -42773,7 +44353,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -42804,9 +44384,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message) { + DeleteSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -42821,9 +44405,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.DeleteSecurityHealthAnalyticsCustomModuleRequest} DeleteSecurityHealthAnalyticsCustomModuleRequest */ - DeleteSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object) { + DeleteSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.DeleteSecurityHealthAnalyticsCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.DeleteSecurityHealthAnalyticsCustomModuleRequest(); if (object.name != null) message.name = String(object.name); @@ -42899,7 +44487,7 @@ function GetBigQueryExportRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -42964,9 +44552,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetBigQueryExportRequest.decode = function decode(reader, length, error) { + GetBigQueryExportRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GetBigQueryExportRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -42978,7 +44570,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -43009,9 +44601,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetBigQueryExportRequest.verify = function verify(message) { + GetBigQueryExportRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -43026,9 +44622,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GetBigQueryExportRequest} GetBigQueryExportRequest */ - GetBigQueryExportRequest.fromObject = function fromObject(object) { + GetBigQueryExportRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GetBigQueryExportRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GetBigQueryExportRequest(); if (object.name != null) message.name = String(object.name); @@ -43104,7 +44704,7 @@ function GetMuteConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -43169,9 +44769,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetMuteConfigRequest.decode = function decode(reader, length, error) { + GetMuteConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GetMuteConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -43183,7 +44787,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -43214,9 +44818,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetMuteConfigRequest.verify = function verify(message) { + GetMuteConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -43231,9 +44839,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GetMuteConfigRequest} GetMuteConfigRequest */ - GetMuteConfigRequest.fromObject = function fromObject(object) { + GetMuteConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GetMuteConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GetMuteConfigRequest(); if (object.name != null) message.name = String(object.name); @@ -43309,7 +44921,7 @@ function GetNotificationConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -43374,9 +44986,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetNotificationConfigRequest.decode = function decode(reader, length, error) { + GetNotificationConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GetNotificationConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -43388,7 +45004,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -43419,9 +45035,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetNotificationConfigRequest.verify = function verify(message) { + GetNotificationConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -43436,9 +45056,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GetNotificationConfigRequest} GetNotificationConfigRequest */ - GetNotificationConfigRequest.fromObject = function fromObject(object) { + GetNotificationConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GetNotificationConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GetNotificationConfigRequest(); if (object.name != null) message.name = String(object.name); @@ -43514,7 +45138,7 @@ function GetOrganizationSettingsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -43579,9 +45203,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetOrganizationSettingsRequest.decode = function decode(reader, length, error) { + GetOrganizationSettingsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GetOrganizationSettingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -43593,7 +45221,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -43624,9 +45252,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetOrganizationSettingsRequest.verify = function verify(message) { + GetOrganizationSettingsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -43641,9 +45273,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GetOrganizationSettingsRequest} GetOrganizationSettingsRequest */ - GetOrganizationSettingsRequest.fromObject = function fromObject(object) { + GetOrganizationSettingsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GetOrganizationSettingsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GetOrganizationSettingsRequest(); if (object.name != null) message.name = String(object.name); @@ -43719,7 +45355,7 @@ function GetEffectiveSecurityHealthAnalyticsCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -43784,9 +45420,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetEffectiveSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error) { + GetEffectiveSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GetEffectiveSecurityHealthAnalyticsCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -43798,7 +45438,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -43829,9 +45469,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetEffectiveSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message) { + GetEffectiveSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -43846,9 +45490,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GetEffectiveSecurityHealthAnalyticsCustomModuleRequest} GetEffectiveSecurityHealthAnalyticsCustomModuleRequest */ - GetEffectiveSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object) { + GetEffectiveSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GetEffectiveSecurityHealthAnalyticsCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GetEffectiveSecurityHealthAnalyticsCustomModuleRequest(); if (object.name != null) message.name = String(object.name); @@ -43924,7 +45572,7 @@ function GetSecurityHealthAnalyticsCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -43989,9 +45637,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error) { + GetSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GetSecurityHealthAnalyticsCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -44003,7 +45655,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -44034,9 +45686,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message) { + GetSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -44051,9 +45707,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GetSecurityHealthAnalyticsCustomModuleRequest} GetSecurityHealthAnalyticsCustomModuleRequest */ - GetSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object) { + GetSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GetSecurityHealthAnalyticsCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GetSecurityHealthAnalyticsCustomModuleRequest(); if (object.name != null) message.name = String(object.name); @@ -44129,7 +45789,7 @@ function GetSourceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -44194,9 +45854,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetSourceRequest.decode = function decode(reader, length, error) { + GetSourceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GetSourceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -44208,7 +45872,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -44239,9 +45903,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetSourceRequest.verify = function verify(message) { + GetSourceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -44256,9 +45924,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GetSourceRequest} GetSourceRequest */ - GetSourceRequest.fromObject = function fromObject(object) { + GetSourceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GetSourceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GetSourceRequest(); if (object.name != null) message.name = String(object.name); @@ -44340,7 +46012,7 @@ function GroupAssetsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -44465,9 +46137,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupAssetsRequest.decode = function decode(reader, length, error) { + GroupAssetsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GroupAssetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -44487,11 +46163,11 @@ break; } case 4: { - message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -44503,7 +46179,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -44534,9 +46210,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupAssetsRequest.verify = function verify(message) { + GroupAssetsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -44547,12 +46227,12 @@ if (!$util.isString(message.groupBy)) return "groupBy: string expected"; if (message.compareDuration != null && message.hasOwnProperty("compareDuration")) { - var error = $root.google.protobuf.Duration.verify(message.compareDuration); + var error = $root.google.protobuf.Duration.verify(message.compareDuration, long + 1); if (error) return "compareDuration." + error; } if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } @@ -44573,9 +46253,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GroupAssetsRequest} GroupAssetsRequest */ - GroupAssetsRequest.fromObject = function fromObject(object) { + GroupAssetsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GroupAssetsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GroupAssetsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -44586,12 +46270,12 @@ if (object.compareDuration != null) { if (typeof object.compareDuration !== "object") throw TypeError(".google.cloud.securitycenter.v1.GroupAssetsRequest.compareDuration: object expected"); - message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration); + message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration, long + 1); } if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.GroupAssetsRequest.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.pageToken != null) message.pageToken = String(object.pageToken); @@ -44692,7 +46376,7 @@ this.groupByResults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -44788,9 +46472,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupAssetsResponse.decode = function decode(reader, length, error) { + GroupAssetsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GroupAssetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -44800,11 +46488,11 @@ case 1: { if (!(message.groupByResults && message.groupByResults.length)) message.groupByResults = []; - message.groupByResults.push($root.google.cloud.securitycenter.v1.GroupResult.decode(reader, reader.uint32())); + message.groupByResults.push($root.google.cloud.securitycenter.v1.GroupResult.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -44816,7 +46504,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -44847,20 +46535,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupAssetsResponse.verify = function verify(message) { + GroupAssetsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.groupByResults != null && message.hasOwnProperty("groupByResults")) { if (!Array.isArray(message.groupByResults)) return "groupByResults: array expected"; for (var i = 0; i < message.groupByResults.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.GroupResult.verify(message.groupByResults[i]); + var error = $root.google.cloud.securitycenter.v1.GroupResult.verify(message.groupByResults[i], long + 1); if (error) return "groupByResults." + error; } } if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } @@ -44881,9 +46573,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GroupAssetsResponse} GroupAssetsResponse */ - GroupAssetsResponse.fromObject = function fromObject(object) { + GroupAssetsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GroupAssetsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GroupAssetsResponse(); if (object.groupByResults) { if (!Array.isArray(object.groupByResults)) @@ -44892,13 +46588,13 @@ for (var i = 0; i < object.groupByResults.length; ++i) { if (typeof object.groupByResults[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.GroupAssetsResponse.groupByResults: object expected"); - message.groupByResults[i] = $root.google.cloud.securitycenter.v1.GroupResult.fromObject(object.groupByResults[i]); + message.groupByResults[i] = $root.google.cloud.securitycenter.v1.GroupResult.fromObject(object.groupByResults[i], long + 1); } } if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.GroupAssetsResponse.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.nextPageToken != null) message.nextPageToken = String(object.nextPageToken); @@ -44996,7 +46692,7 @@ function GroupFindingsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -45121,9 +46817,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupFindingsRequest.decode = function decode(reader, length, error) { + GroupFindingsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GroupFindingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -45143,11 +46843,11 @@ break; } case 4: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -45159,7 +46859,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -45190,9 +46890,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupFindingsRequest.verify = function verify(message) { + GroupFindingsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -45203,12 +46907,12 @@ if (!$util.isString(message.groupBy)) return "groupBy: string expected"; if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } if (message.compareDuration != null && message.hasOwnProperty("compareDuration")) { - var error = $root.google.protobuf.Duration.verify(message.compareDuration); + var error = $root.google.protobuf.Duration.verify(message.compareDuration, long + 1); if (error) return "compareDuration." + error; } @@ -45229,9 +46933,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GroupFindingsRequest} GroupFindingsRequest */ - GroupFindingsRequest.fromObject = function fromObject(object) { + GroupFindingsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GroupFindingsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GroupFindingsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -45242,12 +46950,12 @@ if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.GroupFindingsRequest.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.compareDuration != null) { if (typeof object.compareDuration !== "object") throw TypeError(".google.cloud.securitycenter.v1.GroupFindingsRequest.compareDuration: object expected"); - message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration); + message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration, long + 1); } if (object.pageToken != null) message.pageToken = String(object.pageToken); @@ -45348,7 +47056,7 @@ this.groupByResults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -45444,9 +47152,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupFindingsResponse.decode = function decode(reader, length, error) { + GroupFindingsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GroupFindingsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -45456,11 +47168,11 @@ case 1: { if (!(message.groupByResults && message.groupByResults.length)) message.groupByResults = []; - message.groupByResults.push($root.google.cloud.securitycenter.v1.GroupResult.decode(reader, reader.uint32())); + message.groupByResults.push($root.google.cloud.securitycenter.v1.GroupResult.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -45472,7 +47184,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -45503,20 +47215,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupFindingsResponse.verify = function verify(message) { + GroupFindingsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.groupByResults != null && message.hasOwnProperty("groupByResults")) { if (!Array.isArray(message.groupByResults)) return "groupByResults: array expected"; for (var i = 0; i < message.groupByResults.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.GroupResult.verify(message.groupByResults[i]); + var error = $root.google.cloud.securitycenter.v1.GroupResult.verify(message.groupByResults[i], long + 1); if (error) return "groupByResults." + error; } } if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } @@ -45537,9 +47253,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GroupFindingsResponse} GroupFindingsResponse */ - GroupFindingsResponse.fromObject = function fromObject(object) { + GroupFindingsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GroupFindingsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GroupFindingsResponse(); if (object.groupByResults) { if (!Array.isArray(object.groupByResults)) @@ -45548,13 +47268,13 @@ for (var i = 0; i < object.groupByResults.length; ++i) { if (typeof object.groupByResults[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.GroupFindingsResponse.groupByResults: object expected"); - message.groupByResults[i] = $root.google.cloud.securitycenter.v1.GroupResult.fromObject(object.groupByResults[i]); + message.groupByResults[i] = $root.google.cloud.securitycenter.v1.GroupResult.fromObject(object.groupByResults[i], long + 1); } } if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.GroupFindingsResponse.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.nextPageToken != null) message.nextPageToken = String(object.nextPageToken); @@ -45648,7 +47368,7 @@ this.properties = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -45726,9 +47446,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupResult.decode = function decode(reader, length, error) { + GroupResult.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GroupResult(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -45748,13 +47472,15 @@ key = reader.string(); break; case 2: - value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.properties, key); message.properties[key] = value; break; } @@ -45763,7 +47489,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -45794,15 +47520,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupResult.verify = function verify(message) { + GroupResult.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.properties != null && message.hasOwnProperty("properties")) { if (!$util.isObject(message.properties)) return "properties: object expected"; var key = Object.keys(message.properties); for (var i = 0; i < key.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.properties[key[i]]); + var error = $root.google.protobuf.Value.verify(message.properties[key[i]], long + 1); if (error) return "properties." + error; } @@ -45821,18 +47551,24 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GroupResult} GroupResult */ - GroupResult.fromObject = function fromObject(object) { + GroupResult.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GroupResult) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GroupResult(); if (object.properties) { if (typeof object.properties !== "object") throw TypeError(".google.cloud.securitycenter.v1.GroupResult.properties: object expected"); message.properties = {}; for (var keys = Object.keys(object.properties), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.properties, keys[i]); if (typeof object.properties[keys[i]] !== "object") throw TypeError(".google.cloud.securitycenter.v1.GroupResult.properties: object expected"); - message.properties[keys[i]] = $root.google.protobuf.Value.fromObject(object.properties[keys[i]]); + message.properties[keys[i]] = $root.google.protobuf.Value.fromObject(object.properties[keys[i]], long + 1); } } if (object.count != null) @@ -45871,8 +47607,11 @@ var keys2; if (message.properties && (keys2 = Object.keys(message.properties)).length) { object.properties = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.properties, keys2[j]); object.properties[keys2[j]] = $root.google.protobuf.Value.toObject(message.properties[keys2[j]], options); + } } if (message.count != null && message.hasOwnProperty("count")) if (typeof message.count === "number") @@ -45933,7 +47672,7 @@ function ListDescendantSecurityHealthAnalyticsCustomModulesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -46018,9 +47757,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListDescendantSecurityHealthAnalyticsCustomModulesRequest.decode = function decode(reader, length, error) { + ListDescendantSecurityHealthAnalyticsCustomModulesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListDescendantSecurityHealthAnalyticsCustomModulesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -46040,7 +47783,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -46071,9 +47814,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListDescendantSecurityHealthAnalyticsCustomModulesRequest.verify = function verify(message) { + ListDescendantSecurityHealthAnalyticsCustomModulesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -46094,9 +47841,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListDescendantSecurityHealthAnalyticsCustomModulesRequest} ListDescendantSecurityHealthAnalyticsCustomModulesRequest */ - ListDescendantSecurityHealthAnalyticsCustomModulesRequest.fromObject = function fromObject(object) { + ListDescendantSecurityHealthAnalyticsCustomModulesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListDescendantSecurityHealthAnalyticsCustomModulesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListDescendantSecurityHealthAnalyticsCustomModulesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -46185,7 +47936,7 @@ this.securityHealthAnalyticsCustomModules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -46261,9 +48012,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListDescendantSecurityHealthAnalyticsCustomModulesResponse.decode = function decode(reader, length, error) { + ListDescendantSecurityHealthAnalyticsCustomModulesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListDescendantSecurityHealthAnalyticsCustomModulesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -46273,7 +48028,7 @@ case 1: { if (!(message.securityHealthAnalyticsCustomModules && message.securityHealthAnalyticsCustomModules.length)) message.securityHealthAnalyticsCustomModules = []; - message.securityHealthAnalyticsCustomModules.push($root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32())); + message.securityHealthAnalyticsCustomModules.push($root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -46281,7 +48036,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -46312,14 +48067,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListDescendantSecurityHealthAnalyticsCustomModulesResponse.verify = function verify(message) { + ListDescendantSecurityHealthAnalyticsCustomModulesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.securityHealthAnalyticsCustomModules != null && message.hasOwnProperty("securityHealthAnalyticsCustomModules")) { if (!Array.isArray(message.securityHealthAnalyticsCustomModules)) return "securityHealthAnalyticsCustomModules: array expected"; for (var i = 0; i < message.securityHealthAnalyticsCustomModules.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.verify(message.securityHealthAnalyticsCustomModules[i]); + var error = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.verify(message.securityHealthAnalyticsCustomModules[i], long + 1); if (error) return "securityHealthAnalyticsCustomModules." + error; } @@ -46338,9 +48097,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListDescendantSecurityHealthAnalyticsCustomModulesResponse} ListDescendantSecurityHealthAnalyticsCustomModulesResponse */ - ListDescendantSecurityHealthAnalyticsCustomModulesResponse.fromObject = function fromObject(object) { + ListDescendantSecurityHealthAnalyticsCustomModulesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListDescendantSecurityHealthAnalyticsCustomModulesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListDescendantSecurityHealthAnalyticsCustomModulesResponse(); if (object.securityHealthAnalyticsCustomModules) { if (!Array.isArray(object.securityHealthAnalyticsCustomModules)) @@ -46349,7 +48112,7 @@ for (var i = 0; i < object.securityHealthAnalyticsCustomModules.length; ++i) { if (typeof object.securityHealthAnalyticsCustomModules[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListDescendantSecurityHealthAnalyticsCustomModulesResponse.securityHealthAnalyticsCustomModules: object expected"); - message.securityHealthAnalyticsCustomModules[i] = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.fromObject(object.securityHealthAnalyticsCustomModules[i]); + message.securityHealthAnalyticsCustomModules[i] = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.fromObject(object.securityHealthAnalyticsCustomModules[i], long + 1); } } if (object.nextPageToken != null) @@ -46437,7 +48200,7 @@ function ListValuedResourcesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -46542,9 +48305,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListValuedResourcesRequest.decode = function decode(reader, length, error) { + ListValuedResourcesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListValuedResourcesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -46572,7 +48339,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -46603,9 +48370,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListValuedResourcesRequest.verify = function verify(message) { + ListValuedResourcesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -46632,9 +48403,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListValuedResourcesRequest} ListValuedResourcesRequest */ - ListValuedResourcesRequest.fromObject = function fromObject(object) { + ListValuedResourcesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListValuedResourcesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListValuedResourcesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -46734,7 +48509,7 @@ this.valuedResources = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -46820,9 +48595,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListValuedResourcesResponse.decode = function decode(reader, length, error) { + ListValuedResourcesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListValuedResourcesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -46832,7 +48611,7 @@ case 1: { if (!(message.valuedResources && message.valuedResources.length)) message.valuedResources = []; - message.valuedResources.push($root.google.cloud.securitycenter.v1.ValuedResource.decode(reader, reader.uint32())); + message.valuedResources.push($root.google.cloud.securitycenter.v1.ValuedResource.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -46844,7 +48623,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -46875,14 +48654,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListValuedResourcesResponse.verify = function verify(message) { + ListValuedResourcesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.valuedResources != null && message.hasOwnProperty("valuedResources")) { if (!Array.isArray(message.valuedResources)) return "valuedResources: array expected"; for (var i = 0; i < message.valuedResources.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.ValuedResource.verify(message.valuedResources[i]); + var error = $root.google.cloud.securitycenter.v1.ValuedResource.verify(message.valuedResources[i], long + 1); if (error) return "valuedResources." + error; } @@ -46904,9 +48687,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListValuedResourcesResponse} ListValuedResourcesResponse */ - ListValuedResourcesResponse.fromObject = function fromObject(object) { + ListValuedResourcesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListValuedResourcesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListValuedResourcesResponse(); if (object.valuedResources) { if (!Array.isArray(object.valuedResources)) @@ -46915,7 +48702,7 @@ for (var i = 0; i < object.valuedResources.length; ++i) { if (typeof object.valuedResources[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListValuedResourcesResponse.valuedResources: object expected"); - message.valuedResources[i] = $root.google.cloud.securitycenter.v1.ValuedResource.fromObject(object.valuedResources[i]); + message.valuedResources[i] = $root.google.cloud.securitycenter.v1.ValuedResource.fromObject(object.valuedResources[i], long + 1); } } if (object.nextPageToken != null) @@ -47008,7 +48795,7 @@ function ListAttackPathsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -47103,9 +48890,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAttackPathsRequest.decode = function decode(reader, length, error) { + ListAttackPathsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListAttackPathsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -47129,7 +48920,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -47160,9 +48951,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListAttackPathsRequest.verify = function verify(message) { + ListAttackPathsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -47186,9 +48981,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListAttackPathsRequest} ListAttackPathsRequest */ - ListAttackPathsRequest.fromObject = function fromObject(object) { + ListAttackPathsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListAttackPathsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListAttackPathsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -47282,7 +49081,7 @@ this.attackPaths = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -47358,9 +49157,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAttackPathsResponse.decode = function decode(reader, length, error) { + ListAttackPathsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListAttackPathsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -47370,7 +49173,7 @@ case 1: { if (!(message.attackPaths && message.attackPaths.length)) message.attackPaths = []; - message.attackPaths.push($root.google.cloud.securitycenter.v1.AttackPath.decode(reader, reader.uint32())); + message.attackPaths.push($root.google.cloud.securitycenter.v1.AttackPath.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -47378,7 +49181,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -47409,14 +49212,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListAttackPathsResponse.verify = function verify(message) { + ListAttackPathsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.attackPaths != null && message.hasOwnProperty("attackPaths")) { if (!Array.isArray(message.attackPaths)) return "attackPaths: array expected"; for (var i = 0; i < message.attackPaths.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.AttackPath.verify(message.attackPaths[i]); + var error = $root.google.cloud.securitycenter.v1.AttackPath.verify(message.attackPaths[i], long + 1); if (error) return "attackPaths." + error; } @@ -47435,9 +49242,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListAttackPathsResponse} ListAttackPathsResponse */ - ListAttackPathsResponse.fromObject = function fromObject(object) { + ListAttackPathsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListAttackPathsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListAttackPathsResponse(); if (object.attackPaths) { if (!Array.isArray(object.attackPaths)) @@ -47446,7 +49257,7 @@ for (var i = 0; i < object.attackPaths.length; ++i) { if (typeof object.attackPaths[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListAttackPathsResponse.attackPaths: object expected"); - message.attackPaths[i] = $root.google.cloud.securitycenter.v1.AttackPath.fromObject(object.attackPaths[i]); + message.attackPaths[i] = $root.google.cloud.securitycenter.v1.AttackPath.fromObject(object.attackPaths[i], long + 1); } } if (object.nextPageToken != null) @@ -47530,7 +49341,7 @@ function GetSimulationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -47595,9 +49406,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetSimulationRequest.decode = function decode(reader, length, error) { + GetSimulationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GetSimulationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -47609,7 +49424,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -47640,9 +49455,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetSimulationRequest.verify = function verify(message) { + GetSimulationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -47657,9 +49476,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GetSimulationRequest} GetSimulationRequest */ - GetSimulationRequest.fromObject = function fromObject(object) { + GetSimulationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GetSimulationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GetSimulationRequest(); if (object.name != null) message.name = String(object.name); @@ -47735,7 +49558,7 @@ function GetValuedResourceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -47800,9 +49623,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetValuedResourceRequest.decode = function decode(reader, length, error) { + GetValuedResourceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GetValuedResourceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -47814,7 +49641,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -47845,9 +49672,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetValuedResourceRequest.verify = function verify(message) { + GetValuedResourceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -47862,9 +49693,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GetValuedResourceRequest} GetValuedResourceRequest */ - GetValuedResourceRequest.fromObject = function fromObject(object) { + GetValuedResourceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GetValuedResourceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GetValuedResourceRequest(); if (object.name != null) message.name = String(object.name); @@ -47942,7 +49777,7 @@ function ListMuteConfigsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -48027,9 +49862,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListMuteConfigsRequest.decode = function decode(reader, length, error) { + ListMuteConfigsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListMuteConfigsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -48049,7 +49888,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -48080,9 +49919,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListMuteConfigsRequest.verify = function verify(message) { + ListMuteConfigsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -48103,9 +49946,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListMuteConfigsRequest} ListMuteConfigsRequest */ - ListMuteConfigsRequest.fromObject = function fromObject(object) { + ListMuteConfigsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListMuteConfigsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListMuteConfigsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -48194,7 +50041,7 @@ this.muteConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -48270,9 +50117,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListMuteConfigsResponse.decode = function decode(reader, length, error) { + ListMuteConfigsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListMuteConfigsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -48282,7 +50133,7 @@ case 1: { if (!(message.muteConfigs && message.muteConfigs.length)) message.muteConfigs = []; - message.muteConfigs.push($root.google.cloud.securitycenter.v1.MuteConfig.decode(reader, reader.uint32())); + message.muteConfigs.push($root.google.cloud.securitycenter.v1.MuteConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -48290,7 +50141,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -48321,14 +50172,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListMuteConfigsResponse.verify = function verify(message) { + ListMuteConfigsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.muteConfigs != null && message.hasOwnProperty("muteConfigs")) { if (!Array.isArray(message.muteConfigs)) return "muteConfigs: array expected"; for (var i = 0; i < message.muteConfigs.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.MuteConfig.verify(message.muteConfigs[i]); + var error = $root.google.cloud.securitycenter.v1.MuteConfig.verify(message.muteConfigs[i], long + 1); if (error) return "muteConfigs." + error; } @@ -48347,9 +50202,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListMuteConfigsResponse} ListMuteConfigsResponse */ - ListMuteConfigsResponse.fromObject = function fromObject(object) { + ListMuteConfigsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListMuteConfigsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListMuteConfigsResponse(); if (object.muteConfigs) { if (!Array.isArray(object.muteConfigs)) @@ -48358,7 +50217,7 @@ for (var i = 0; i < object.muteConfigs.length; ++i) { if (typeof object.muteConfigs[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListMuteConfigsResponse.muteConfigs: object expected"); - message.muteConfigs[i] = $root.google.cloud.securitycenter.v1.MuteConfig.fromObject(object.muteConfigs[i]); + message.muteConfigs[i] = $root.google.cloud.securitycenter.v1.MuteConfig.fromObject(object.muteConfigs[i], long + 1); } } if (object.nextPageToken != null) @@ -48444,7 +50303,7 @@ function ListNotificationConfigsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -48529,9 +50388,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListNotificationConfigsRequest.decode = function decode(reader, length, error) { + ListNotificationConfigsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListNotificationConfigsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -48551,7 +50414,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -48582,9 +50445,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListNotificationConfigsRequest.verify = function verify(message) { + ListNotificationConfigsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -48605,9 +50472,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListNotificationConfigsRequest} ListNotificationConfigsRequest */ - ListNotificationConfigsRequest.fromObject = function fromObject(object) { + ListNotificationConfigsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListNotificationConfigsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListNotificationConfigsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -48696,7 +50567,7 @@ this.notificationConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -48772,9 +50643,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListNotificationConfigsResponse.decode = function decode(reader, length, error) { + ListNotificationConfigsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListNotificationConfigsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -48784,7 +50659,7 @@ case 1: { if (!(message.notificationConfigs && message.notificationConfigs.length)) message.notificationConfigs = []; - message.notificationConfigs.push($root.google.cloud.securitycenter.v1.NotificationConfig.decode(reader, reader.uint32())); + message.notificationConfigs.push($root.google.cloud.securitycenter.v1.NotificationConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -48792,7 +50667,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -48823,14 +50698,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListNotificationConfigsResponse.verify = function verify(message) { + ListNotificationConfigsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.notificationConfigs != null && message.hasOwnProperty("notificationConfigs")) { if (!Array.isArray(message.notificationConfigs)) return "notificationConfigs: array expected"; for (var i = 0; i < message.notificationConfigs.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.NotificationConfig.verify(message.notificationConfigs[i]); + var error = $root.google.cloud.securitycenter.v1.NotificationConfig.verify(message.notificationConfigs[i], long + 1); if (error) return "notificationConfigs." + error; } @@ -48849,9 +50728,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListNotificationConfigsResponse} ListNotificationConfigsResponse */ - ListNotificationConfigsResponse.fromObject = function fromObject(object) { + ListNotificationConfigsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListNotificationConfigsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListNotificationConfigsResponse(); if (object.notificationConfigs) { if (!Array.isArray(object.notificationConfigs)) @@ -48860,7 +50743,7 @@ for (var i = 0; i < object.notificationConfigs.length; ++i) { if (typeof object.notificationConfigs[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListNotificationConfigsResponse.notificationConfigs: object expected"); - message.notificationConfigs[i] = $root.google.cloud.securitycenter.v1.NotificationConfig.fromObject(object.notificationConfigs[i]); + message.notificationConfigs[i] = $root.google.cloud.securitycenter.v1.NotificationConfig.fromObject(object.notificationConfigs[i], long + 1); } } if (object.nextPageToken != null) @@ -48946,7 +50829,7 @@ function ListEffectiveSecurityHealthAnalyticsCustomModulesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -49031,9 +50914,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEffectiveSecurityHealthAnalyticsCustomModulesRequest.decode = function decode(reader, length, error) { + ListEffectiveSecurityHealthAnalyticsCustomModulesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -49053,7 +50940,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -49084,9 +50971,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEffectiveSecurityHealthAnalyticsCustomModulesRequest.verify = function verify(message) { + ListEffectiveSecurityHealthAnalyticsCustomModulesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -49107,9 +50998,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesRequest} ListEffectiveSecurityHealthAnalyticsCustomModulesRequest */ - ListEffectiveSecurityHealthAnalyticsCustomModulesRequest.fromObject = function fromObject(object) { + ListEffectiveSecurityHealthAnalyticsCustomModulesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -49198,7 +51093,7 @@ this.effectiveSecurityHealthAnalyticsCustomModules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -49274,9 +51169,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEffectiveSecurityHealthAnalyticsCustomModulesResponse.decode = function decode(reader, length, error) { + ListEffectiveSecurityHealthAnalyticsCustomModulesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -49286,7 +51185,7 @@ case 1: { if (!(message.effectiveSecurityHealthAnalyticsCustomModules && message.effectiveSecurityHealthAnalyticsCustomModules.length)) message.effectiveSecurityHealthAnalyticsCustomModules = []; - message.effectiveSecurityHealthAnalyticsCustomModules.push($root.google.cloud.securitycenter.v1.EffectiveSecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32())); + message.effectiveSecurityHealthAnalyticsCustomModules.push($root.google.cloud.securitycenter.v1.EffectiveSecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -49294,7 +51193,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -49325,14 +51224,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEffectiveSecurityHealthAnalyticsCustomModulesResponse.verify = function verify(message) { + ListEffectiveSecurityHealthAnalyticsCustomModulesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.effectiveSecurityHealthAnalyticsCustomModules != null && message.hasOwnProperty("effectiveSecurityHealthAnalyticsCustomModules")) { if (!Array.isArray(message.effectiveSecurityHealthAnalyticsCustomModules)) return "effectiveSecurityHealthAnalyticsCustomModules: array expected"; for (var i = 0; i < message.effectiveSecurityHealthAnalyticsCustomModules.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.EffectiveSecurityHealthAnalyticsCustomModule.verify(message.effectiveSecurityHealthAnalyticsCustomModules[i]); + var error = $root.google.cloud.securitycenter.v1.EffectiveSecurityHealthAnalyticsCustomModule.verify(message.effectiveSecurityHealthAnalyticsCustomModules[i], long + 1); if (error) return "effectiveSecurityHealthAnalyticsCustomModules." + error; } @@ -49351,9 +51254,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesResponse} ListEffectiveSecurityHealthAnalyticsCustomModulesResponse */ - ListEffectiveSecurityHealthAnalyticsCustomModulesResponse.fromObject = function fromObject(object) { + ListEffectiveSecurityHealthAnalyticsCustomModulesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesResponse(); if (object.effectiveSecurityHealthAnalyticsCustomModules) { if (!Array.isArray(object.effectiveSecurityHealthAnalyticsCustomModules)) @@ -49362,7 +51269,7 @@ for (var i = 0; i < object.effectiveSecurityHealthAnalyticsCustomModules.length; ++i) { if (typeof object.effectiveSecurityHealthAnalyticsCustomModules[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesResponse.effectiveSecurityHealthAnalyticsCustomModules: object expected"); - message.effectiveSecurityHealthAnalyticsCustomModules[i] = $root.google.cloud.securitycenter.v1.EffectiveSecurityHealthAnalyticsCustomModule.fromObject(object.effectiveSecurityHealthAnalyticsCustomModules[i]); + message.effectiveSecurityHealthAnalyticsCustomModules[i] = $root.google.cloud.securitycenter.v1.EffectiveSecurityHealthAnalyticsCustomModule.fromObject(object.effectiveSecurityHealthAnalyticsCustomModules[i], long + 1); } } if (object.nextPageToken != null) @@ -49448,7 +51355,7 @@ function ListSecurityHealthAnalyticsCustomModulesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -49533,9 +51440,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListSecurityHealthAnalyticsCustomModulesRequest.decode = function decode(reader, length, error) { + ListSecurityHealthAnalyticsCustomModulesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListSecurityHealthAnalyticsCustomModulesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -49555,7 +51466,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -49586,9 +51497,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListSecurityHealthAnalyticsCustomModulesRequest.verify = function verify(message) { + ListSecurityHealthAnalyticsCustomModulesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -49609,9 +51524,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListSecurityHealthAnalyticsCustomModulesRequest} ListSecurityHealthAnalyticsCustomModulesRequest */ - ListSecurityHealthAnalyticsCustomModulesRequest.fromObject = function fromObject(object) { + ListSecurityHealthAnalyticsCustomModulesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListSecurityHealthAnalyticsCustomModulesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListSecurityHealthAnalyticsCustomModulesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -49700,7 +51619,7 @@ this.securityHealthAnalyticsCustomModules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -49776,9 +51695,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListSecurityHealthAnalyticsCustomModulesResponse.decode = function decode(reader, length, error) { + ListSecurityHealthAnalyticsCustomModulesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListSecurityHealthAnalyticsCustomModulesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -49788,7 +51711,7 @@ case 1: { if (!(message.securityHealthAnalyticsCustomModules && message.securityHealthAnalyticsCustomModules.length)) message.securityHealthAnalyticsCustomModules = []; - message.securityHealthAnalyticsCustomModules.push($root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32())); + message.securityHealthAnalyticsCustomModules.push($root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -49796,7 +51719,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -49827,14 +51750,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListSecurityHealthAnalyticsCustomModulesResponse.verify = function verify(message) { + ListSecurityHealthAnalyticsCustomModulesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.securityHealthAnalyticsCustomModules != null && message.hasOwnProperty("securityHealthAnalyticsCustomModules")) { if (!Array.isArray(message.securityHealthAnalyticsCustomModules)) return "securityHealthAnalyticsCustomModules: array expected"; for (var i = 0; i < message.securityHealthAnalyticsCustomModules.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.verify(message.securityHealthAnalyticsCustomModules[i]); + var error = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.verify(message.securityHealthAnalyticsCustomModules[i], long + 1); if (error) return "securityHealthAnalyticsCustomModules." + error; } @@ -49853,9 +51780,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListSecurityHealthAnalyticsCustomModulesResponse} ListSecurityHealthAnalyticsCustomModulesResponse */ - ListSecurityHealthAnalyticsCustomModulesResponse.fromObject = function fromObject(object) { + ListSecurityHealthAnalyticsCustomModulesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListSecurityHealthAnalyticsCustomModulesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListSecurityHealthAnalyticsCustomModulesResponse(); if (object.securityHealthAnalyticsCustomModules) { if (!Array.isArray(object.securityHealthAnalyticsCustomModules)) @@ -49864,7 +51795,7 @@ for (var i = 0; i < object.securityHealthAnalyticsCustomModules.length; ++i) { if (typeof object.securityHealthAnalyticsCustomModules[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListSecurityHealthAnalyticsCustomModulesResponse.securityHealthAnalyticsCustomModules: object expected"); - message.securityHealthAnalyticsCustomModules[i] = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.fromObject(object.securityHealthAnalyticsCustomModules[i]); + message.securityHealthAnalyticsCustomModules[i] = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.fromObject(object.securityHealthAnalyticsCustomModules[i], long + 1); } } if (object.nextPageToken != null) @@ -49950,7 +51881,7 @@ function ListSourcesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -50035,9 +51966,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListSourcesRequest.decode = function decode(reader, length, error) { + ListSourcesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListSourcesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -50057,7 +51992,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -50088,9 +52023,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListSourcesRequest.verify = function verify(message) { + ListSourcesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -50111,9 +52050,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListSourcesRequest} ListSourcesRequest */ - ListSourcesRequest.fromObject = function fromObject(object) { + ListSourcesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListSourcesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListSourcesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -50202,7 +52145,7 @@ this.sources = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -50278,9 +52221,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListSourcesResponse.decode = function decode(reader, length, error) { + ListSourcesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListSourcesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -50290,7 +52237,7 @@ case 1: { if (!(message.sources && message.sources.length)) message.sources = []; - message.sources.push($root.google.cloud.securitycenter.v1.Source.decode(reader, reader.uint32())); + message.sources.push($root.google.cloud.securitycenter.v1.Source.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -50298,7 +52245,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -50329,14 +52276,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListSourcesResponse.verify = function verify(message) { + ListSourcesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.sources != null && message.hasOwnProperty("sources")) { if (!Array.isArray(message.sources)) return "sources: array expected"; for (var i = 0; i < message.sources.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Source.verify(message.sources[i]); + var error = $root.google.cloud.securitycenter.v1.Source.verify(message.sources[i], long + 1); if (error) return "sources." + error; } @@ -50355,9 +52306,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListSourcesResponse} ListSourcesResponse */ - ListSourcesResponse.fromObject = function fromObject(object) { + ListSourcesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListSourcesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListSourcesResponse(); if (object.sources) { if (!Array.isArray(object.sources)) @@ -50366,7 +52321,7 @@ for (var i = 0; i < object.sources.length; ++i) { if (typeof object.sources[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListSourcesResponse.sources: object expected"); - message.sources[i] = $root.google.cloud.securitycenter.v1.Source.fromObject(object.sources[i]); + message.sources[i] = $root.google.cloud.securitycenter.v1.Source.fromObject(object.sources[i], long + 1); } } if (object.nextPageToken != null) @@ -50457,7 +52412,7 @@ function ListAssetsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -50592,9 +52547,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAssetsRequest.decode = function decode(reader, length, error) { + ListAssetsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListAssetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -50614,15 +52573,15 @@ break; } case 4: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { @@ -50634,7 +52593,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -50665,9 +52624,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListAssetsRequest.verify = function verify(message) { + ListAssetsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -50678,17 +52641,17 @@ if (!$util.isString(message.orderBy)) return "orderBy: string expected"; if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } if (message.compareDuration != null && message.hasOwnProperty("compareDuration")) { - var error = $root.google.protobuf.Duration.verify(message.compareDuration); + var error = $root.google.protobuf.Duration.verify(message.compareDuration, long + 1); if (error) return "compareDuration." + error; } if (message.fieldMask != null && message.hasOwnProperty("fieldMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.fieldMask); + var error = $root.google.protobuf.FieldMask.verify(message.fieldMask, long + 1); if (error) return "fieldMask." + error; } @@ -50709,9 +52672,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListAssetsRequest} ListAssetsRequest */ - ListAssetsRequest.fromObject = function fromObject(object) { + ListAssetsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListAssetsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListAssetsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -50722,17 +52689,17 @@ if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListAssetsRequest.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.compareDuration != null) { if (typeof object.compareDuration !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListAssetsRequest.compareDuration: object expected"); - message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration); + message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration, long + 1); } if (object.fieldMask != null) { if (typeof object.fieldMask !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListAssetsRequest.fieldMask: object expected"); - message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask); + message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask, long + 1); } if (object.pageToken != null) message.pageToken = String(object.pageToken); @@ -50836,7 +52803,7 @@ this.listAssetsResults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -50932,9 +52899,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAssetsResponse.decode = function decode(reader, length, error) { + ListAssetsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListAssetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -50944,11 +52915,11 @@ case 1: { if (!(message.listAssetsResults && message.listAssetsResults.length)) message.listAssetsResults = []; - message.listAssetsResults.push($root.google.cloud.securitycenter.v1.ListAssetsResponse.ListAssetsResult.decode(reader, reader.uint32())); + message.listAssetsResults.push($root.google.cloud.securitycenter.v1.ListAssetsResponse.ListAssetsResult.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -50960,7 +52931,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -50991,20 +52962,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListAssetsResponse.verify = function verify(message) { + ListAssetsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.listAssetsResults != null && message.hasOwnProperty("listAssetsResults")) { if (!Array.isArray(message.listAssetsResults)) return "listAssetsResults: array expected"; for (var i = 0; i < message.listAssetsResults.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.ListAssetsResponse.ListAssetsResult.verify(message.listAssetsResults[i]); + var error = $root.google.cloud.securitycenter.v1.ListAssetsResponse.ListAssetsResult.verify(message.listAssetsResults[i], long + 1); if (error) return "listAssetsResults." + error; } } if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } @@ -51025,9 +53000,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListAssetsResponse} ListAssetsResponse */ - ListAssetsResponse.fromObject = function fromObject(object) { + ListAssetsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListAssetsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListAssetsResponse(); if (object.listAssetsResults) { if (!Array.isArray(object.listAssetsResults)) @@ -51036,13 +53015,13 @@ for (var i = 0; i < object.listAssetsResults.length; ++i) { if (typeof object.listAssetsResults[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListAssetsResponse.listAssetsResults: object expected"); - message.listAssetsResults[i] = $root.google.cloud.securitycenter.v1.ListAssetsResponse.ListAssetsResult.fromObject(object.listAssetsResults[i]); + message.listAssetsResults[i] = $root.google.cloud.securitycenter.v1.ListAssetsResponse.ListAssetsResult.fromObject(object.listAssetsResults[i], long + 1); } } if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListAssetsResponse.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.nextPageToken != null) message.nextPageToken = String(object.nextPageToken); @@ -51132,7 +53111,7 @@ function ListAssetsResult(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -51207,9 +53186,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAssetsResult.decode = function decode(reader, length, error) { + ListAssetsResult.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListAssetsResponse.ListAssetsResult(); while (reader.pos < end) { var tag = reader.uint32(); @@ -51217,7 +53200,7 @@ break; switch (tag >>> 3) { case 1: { - message.asset = $root.google.cloud.securitycenter.v1.Asset.decode(reader, reader.uint32()); + message.asset = $root.google.cloud.securitycenter.v1.Asset.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -51225,7 +53208,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -51256,11 +53239,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListAssetsResult.verify = function verify(message) { + ListAssetsResult.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.asset != null && message.hasOwnProperty("asset")) { - var error = $root.google.cloud.securitycenter.v1.Asset.verify(message.asset); + var error = $root.google.cloud.securitycenter.v1.Asset.verify(message.asset, long + 1); if (error) return "asset." + error; } @@ -51285,14 +53272,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListAssetsResponse.ListAssetsResult} ListAssetsResult */ - ListAssetsResult.fromObject = function fromObject(object) { + ListAssetsResult.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListAssetsResponse.ListAssetsResult) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListAssetsResponse.ListAssetsResult(); if (object.asset != null) { if (typeof object.asset !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListAssetsResponse.ListAssetsResult.asset: object expected"); - message.asset = $root.google.cloud.securitycenter.v1.Asset.fromObject(object.asset); + message.asset = $root.google.cloud.securitycenter.v1.Asset.fromObject(object.asset, long + 1); } switch (object.stateChange) { default: @@ -51422,7 +53413,7 @@ function ListFindingsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -51557,9 +53548,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListFindingsRequest.decode = function decode(reader, length, error) { + ListFindingsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListFindingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -51579,15 +53574,15 @@ break; } case 4: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { @@ -51599,7 +53594,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -51630,9 +53625,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListFindingsRequest.verify = function verify(message) { + ListFindingsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -51643,17 +53642,17 @@ if (!$util.isString(message.orderBy)) return "orderBy: string expected"; if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } if (message.compareDuration != null && message.hasOwnProperty("compareDuration")) { - var error = $root.google.protobuf.Duration.verify(message.compareDuration); + var error = $root.google.protobuf.Duration.verify(message.compareDuration, long + 1); if (error) return "compareDuration." + error; } if (message.fieldMask != null && message.hasOwnProperty("fieldMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.fieldMask); + var error = $root.google.protobuf.FieldMask.verify(message.fieldMask, long + 1); if (error) return "fieldMask." + error; } @@ -51674,9 +53673,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListFindingsRequest} ListFindingsRequest */ - ListFindingsRequest.fromObject = function fromObject(object) { + ListFindingsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListFindingsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListFindingsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -51687,17 +53690,17 @@ if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListFindingsRequest.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.compareDuration != null) { if (typeof object.compareDuration !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListFindingsRequest.compareDuration: object expected"); - message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration); + message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration, long + 1); } if (object.fieldMask != null) { if (typeof object.fieldMask !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListFindingsRequest.fieldMask: object expected"); - message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask); + message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask, long + 1); } if (object.pageToken != null) message.pageToken = String(object.pageToken); @@ -51801,7 +53804,7 @@ this.listFindingsResults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -51897,9 +53900,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListFindingsResponse.decode = function decode(reader, length, error) { + ListFindingsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListFindingsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -51909,11 +53916,11 @@ case 1: { if (!(message.listFindingsResults && message.listFindingsResults.length)) message.listFindingsResults = []; - message.listFindingsResults.push($root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.decode(reader, reader.uint32())); + message.listFindingsResults.push($root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -51925,7 +53932,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -51956,20 +53963,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListFindingsResponse.verify = function verify(message) { + ListFindingsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.listFindingsResults != null && message.hasOwnProperty("listFindingsResults")) { if (!Array.isArray(message.listFindingsResults)) return "listFindingsResults: array expected"; for (var i = 0; i < message.listFindingsResults.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.verify(message.listFindingsResults[i]); + var error = $root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.verify(message.listFindingsResults[i], long + 1); if (error) return "listFindingsResults." + error; } } if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } @@ -51990,9 +54001,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListFindingsResponse} ListFindingsResponse */ - ListFindingsResponse.fromObject = function fromObject(object) { + ListFindingsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListFindingsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListFindingsResponse(); if (object.listFindingsResults) { if (!Array.isArray(object.listFindingsResults)) @@ -52001,13 +54016,13 @@ for (var i = 0; i < object.listFindingsResults.length; ++i) { if (typeof object.listFindingsResults[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListFindingsResponse.listFindingsResults: object expected"); - message.listFindingsResults[i] = $root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.fromObject(object.listFindingsResults[i]); + message.listFindingsResults[i] = $root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.fromObject(object.listFindingsResults[i], long + 1); } } if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListFindingsResponse.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.nextPageToken != null) message.nextPageToken = String(object.nextPageToken); @@ -52098,7 +54113,7 @@ function ListFindingsResult(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -52183,9 +54198,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListFindingsResult.decode = function decode(reader, length, error) { + ListFindingsResult.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult(); while (reader.pos < end) { var tag = reader.uint32(); @@ -52193,7 +54212,7 @@ break; switch (tag >>> 3) { case 1: { - message.finding = $root.google.cloud.securitycenter.v1.Finding.decode(reader, reader.uint32()); + message.finding = $root.google.cloud.securitycenter.v1.Finding.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -52201,11 +54220,11 @@ break; } case 3: { - message.resource = $root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource.decode(reader, reader.uint32()); + message.resource = $root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -52236,11 +54255,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListFindingsResult.verify = function verify(message) { + ListFindingsResult.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.finding != null && message.hasOwnProperty("finding")) { - var error = $root.google.cloud.securitycenter.v1.Finding.verify(message.finding); + var error = $root.google.cloud.securitycenter.v1.Finding.verify(message.finding, long + 1); if (error) return "finding." + error; } @@ -52256,7 +54279,7 @@ break; } if (message.resource != null && message.hasOwnProperty("resource")) { - var error = $root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource.verify(message.resource); + var error = $root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource.verify(message.resource, long + 1); if (error) return "resource." + error; } @@ -52271,14 +54294,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult} ListFindingsResult */ - ListFindingsResult.fromObject = function fromObject(object) { + ListFindingsResult.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult(); if (object.finding != null) { if (typeof object.finding !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.finding: object expected"); - message.finding = $root.google.cloud.securitycenter.v1.Finding.fromObject(object.finding); + message.finding = $root.google.cloud.securitycenter.v1.Finding.fromObject(object.finding, long + 1); } switch (object.stateChange) { default: @@ -52311,7 +54338,7 @@ if (object.resource != null) { if (typeof object.resource !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.resource: object expected"); - message.resource = $root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource.fromObject(object.resource); + message.resource = $root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource.fromObject(object.resource, long + 1); } return message; }; @@ -52425,7 +54452,7 @@ this.folders = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -52655,9 +54682,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Resource.decode = function decode(reader, length, error) { + Resource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -52695,7 +54726,7 @@ case 7: { if (!(message.folders && message.folders.length)) message.folders = []; - message.folders.push($root.google.cloud.securitycenter.v1.Folder.decode(reader, reader.uint32())); + message.folders.push($root.google.cloud.securitycenter.v1.Folder.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 9: { @@ -52715,15 +54746,15 @@ break; } case 16: { - message.awsMetadata = $root.google.cloud.securitycenter.v1.AwsMetadata.decode(reader, reader.uint32()); + message.awsMetadata = $root.google.cloud.securitycenter.v1.AwsMetadata.decode(reader, reader.uint32(), undefined, long + 1); break; } case 17: { - message.azureMetadata = $root.google.cloud.securitycenter.v1.AzureMetadata.decode(reader, reader.uint32()); + message.azureMetadata = $root.google.cloud.securitycenter.v1.AzureMetadata.decode(reader, reader.uint32(), undefined, long + 1); break; } case 18: { - message.resourcePath = $root.google.cloud.securitycenter.v1.ResourcePath.decode(reader, reader.uint32()); + message.resourcePath = $root.google.cloud.securitycenter.v1.ResourcePath.decode(reader, reader.uint32(), undefined, long + 1); break; } case 19: { @@ -52731,7 +54762,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -52762,9 +54793,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Resource.verify = function verify(message) { + Resource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) @@ -52791,7 +54826,7 @@ if (!Array.isArray(message.folders)) return "folders: array expected"; for (var i = 0; i < message.folders.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.Folder.verify(message.folders[i]); + var error = $root.google.cloud.securitycenter.v1.Folder.verify(message.folders[i], long + 1); if (error) return "folders." + error; } @@ -52818,7 +54853,7 @@ if (message.awsMetadata != null && message.hasOwnProperty("awsMetadata")) { properties.cloudProviderMetadata = 1; { - var error = $root.google.cloud.securitycenter.v1.AwsMetadata.verify(message.awsMetadata); + var error = $root.google.cloud.securitycenter.v1.AwsMetadata.verify(message.awsMetadata, long + 1); if (error) return "awsMetadata." + error; } @@ -52828,13 +54863,13 @@ return "cloudProviderMetadata: multiple values"; properties.cloudProviderMetadata = 1; { - var error = $root.google.cloud.securitycenter.v1.AzureMetadata.verify(message.azureMetadata); + var error = $root.google.cloud.securitycenter.v1.AzureMetadata.verify(message.azureMetadata, long + 1); if (error) return "azureMetadata." + error; } } if (message.resourcePath != null && message.hasOwnProperty("resourcePath")) { - var error = $root.google.cloud.securitycenter.v1.ResourcePath.verify(message.resourcePath); + var error = $root.google.cloud.securitycenter.v1.ResourcePath.verify(message.resourcePath, long + 1); if (error) return "resourcePath." + error; } @@ -52852,9 +54887,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource} Resource */ - Resource.fromObject = function fromObject(object) { + Resource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource(); if (object.name != null) message.name = String(object.name); @@ -52877,7 +54916,7 @@ for (var i = 0; i < object.folders.length; ++i) { if (typeof object.folders[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource.folders: object expected"); - message.folders[i] = $root.google.cloud.securitycenter.v1.Folder.fromObject(object.folders[i]); + message.folders[i] = $root.google.cloud.securitycenter.v1.Folder.fromObject(object.folders[i], long + 1); } } switch (object.cloudProvider) { @@ -52913,17 +54952,17 @@ if (object.awsMetadata != null) { if (typeof object.awsMetadata !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource.awsMetadata: object expected"); - message.awsMetadata = $root.google.cloud.securitycenter.v1.AwsMetadata.fromObject(object.awsMetadata); + message.awsMetadata = $root.google.cloud.securitycenter.v1.AwsMetadata.fromObject(object.awsMetadata, long + 1); } if (object.azureMetadata != null) { if (typeof object.azureMetadata !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource.azureMetadata: object expected"); - message.azureMetadata = $root.google.cloud.securitycenter.v1.AzureMetadata.fromObject(object.azureMetadata); + message.azureMetadata = $root.google.cloud.securitycenter.v1.AzureMetadata.fromObject(object.azureMetadata, long + 1); } if (object.resourcePath != null) { if (typeof object.resourcePath !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource.resourcePath: object expected"); - message.resourcePath = $root.google.cloud.securitycenter.v1.ResourcePath.fromObject(object.resourcePath); + message.resourcePath = $root.google.cloud.securitycenter.v1.ResourcePath.fromObject(object.resourcePath, long + 1); } if (object.resourcePathString != null) message.resourcePathString = String(object.resourcePathString); @@ -53061,7 +55100,7 @@ function SetFindingStateRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -53146,9 +55185,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SetFindingStateRequest.decode = function decode(reader, length, error) { + SetFindingStateRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.SetFindingStateRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -53164,11 +55207,11 @@ break; } case 3: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -53199,9 +55242,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SetFindingStateRequest.verify = function verify(message) { + SetFindingStateRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -53215,7 +55262,7 @@ break; } if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } @@ -53230,9 +55277,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.SetFindingStateRequest} SetFindingStateRequest */ - SetFindingStateRequest.fromObject = function fromObject(object) { + SetFindingStateRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.SetFindingStateRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.SetFindingStateRequest(); if (object.name != null) message.name = String(object.name); @@ -53259,7 +55310,7 @@ if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.SetFindingStateRequest.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } return message; }; @@ -53341,7 +55392,7 @@ function SetMuteRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -53416,9 +55467,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SetMuteRequest.decode = function decode(reader, length, error) { + SetMuteRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.SetMuteRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -53434,7 +55489,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -53465,9 +55520,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SetMuteRequest.verify = function verify(message) { + SetMuteRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -53492,9 +55551,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.SetMuteRequest} SetMuteRequest */ - SetMuteRequest.fromObject = function fromObject(object) { + SetMuteRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.SetMuteRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.SetMuteRequest(); if (object.name != null) message.name = String(object.name); @@ -53598,7 +55661,7 @@ function RunAssetDiscoveryRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -53663,9 +55726,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RunAssetDiscoveryRequest.decode = function decode(reader, length, error) { + RunAssetDiscoveryRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.RunAssetDiscoveryRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -53677,7 +55744,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -53708,9 +55775,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RunAssetDiscoveryRequest.verify = function verify(message) { + RunAssetDiscoveryRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -53725,9 +55796,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.RunAssetDiscoveryRequest} RunAssetDiscoveryRequest */ - RunAssetDiscoveryRequest.fromObject = function fromObject(object) { + RunAssetDiscoveryRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.RunAssetDiscoveryRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.RunAssetDiscoveryRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -53805,7 +55880,7 @@ function SimulateSecurityHealthAnalyticsCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -53890,9 +55965,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SimulateSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error) { + SimulateSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -53904,15 +55983,15 @@ break; } case 2: { - message.customConfig = $root.google.cloud.securitycenter.v1.CustomConfig.decode(reader, reader.uint32()); + message.customConfig = $root.google.cloud.securitycenter.v1.CustomConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.resource = $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource.decode(reader, reader.uint32()); + message.resource = $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -53943,19 +56022,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SimulateSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message) { + SimulateSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.customConfig != null && message.hasOwnProperty("customConfig")) { - var error = $root.google.cloud.securitycenter.v1.CustomConfig.verify(message.customConfig); + var error = $root.google.cloud.securitycenter.v1.CustomConfig.verify(message.customConfig, long + 1); if (error) return "customConfig." + error; } if (message.resource != null && message.hasOwnProperty("resource")) { - var error = $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource.verify(message.resource); + var error = $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource.verify(message.resource, long + 1); if (error) return "resource." + error; } @@ -53970,21 +56053,25 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest} SimulateSecurityHealthAnalyticsCustomModuleRequest */ - SimulateSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object) { + SimulateSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.customConfig != null) { if (typeof object.customConfig !== "object") throw TypeError(".google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.customConfig: object expected"); - message.customConfig = $root.google.cloud.securitycenter.v1.CustomConfig.fromObject(object.customConfig); + message.customConfig = $root.google.cloud.securitycenter.v1.CustomConfig.fromObject(object.customConfig, long + 1); } if (object.resource != null) { if (typeof object.resource !== "object") throw TypeError(".google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.resource: object expected"); - message.resource = $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource.fromObject(object.resource); + message.resource = $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource.fromObject(object.resource, long + 1); } return message; }; @@ -54064,7 +56151,7 @@ function SimulatedResource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -54149,9 +56236,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SimulatedResource.decode = function decode(reader, length, error) { + SimulatedResource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -54163,15 +56254,15 @@ break; } case 2: { - message.resourceData = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + message.resourceData = $root.google.protobuf.Struct.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.iamPolicyData = $root.google.iam.v1.Policy.decode(reader, reader.uint32()); + message.iamPolicyData = $root.google.iam.v1.Policy.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -54202,19 +56293,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SimulatedResource.verify = function verify(message) { + SimulatedResource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceType != null && message.hasOwnProperty("resourceType")) if (!$util.isString(message.resourceType)) return "resourceType: string expected"; if (message.resourceData != null && message.hasOwnProperty("resourceData")) { - var error = $root.google.protobuf.Struct.verify(message.resourceData); + var error = $root.google.protobuf.Struct.verify(message.resourceData, long + 1); if (error) return "resourceData." + error; } if (message.iamPolicyData != null && message.hasOwnProperty("iamPolicyData")) { - var error = $root.google.iam.v1.Policy.verify(message.iamPolicyData); + var error = $root.google.iam.v1.Policy.verify(message.iamPolicyData, long + 1); if (error) return "iamPolicyData." + error; } @@ -54229,21 +56324,25 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource} SimulatedResource */ - SimulatedResource.fromObject = function fromObject(object) { + SimulatedResource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource(); if (object.resourceType != null) message.resourceType = String(object.resourceType); if (object.resourceData != null) { if (typeof object.resourceData !== "object") throw TypeError(".google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource.resourceData: object expected"); - message.resourceData = $root.google.protobuf.Struct.fromObject(object.resourceData); + message.resourceData = $root.google.protobuf.Struct.fromObject(object.resourceData, long + 1); } if (object.iamPolicyData != null) { if (typeof object.iamPolicyData !== "object") throw TypeError(".google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource.iamPolicyData: object expected"); - message.iamPolicyData = $root.google.iam.v1.Policy.fromObject(object.iamPolicyData); + message.iamPolicyData = $root.google.iam.v1.Policy.fromObject(object.iamPolicyData, long + 1); } return message; }; @@ -54327,7 +56426,7 @@ function SimulateSecurityHealthAnalyticsCustomModuleResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -54392,9 +56491,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SimulateSecurityHealthAnalyticsCustomModuleResponse.decode = function decode(reader, length, error) { + SimulateSecurityHealthAnalyticsCustomModuleResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -54402,11 +56505,11 @@ break; switch (tag >>> 3) { case 1: { - message.result = $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.decode(reader, reader.uint32()); + message.result = $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -54437,11 +56540,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SimulateSecurityHealthAnalyticsCustomModuleResponse.verify = function verify(message) { + SimulateSecurityHealthAnalyticsCustomModuleResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.result != null && message.hasOwnProperty("result")) { - var error = $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.verify(message.result); + var error = $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.verify(message.result, long + 1); if (error) return "result." + error; } @@ -54456,14 +56563,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse} SimulateSecurityHealthAnalyticsCustomModuleResponse */ - SimulateSecurityHealthAnalyticsCustomModuleResponse.fromObject = function fromObject(object) { + SimulateSecurityHealthAnalyticsCustomModuleResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse(); if (object.result != null) { if (typeof object.result !== "object") throw TypeError(".google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.result: object expected"); - message.result = $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.fromObject(object.result); + message.result = $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.fromObject(object.result, long + 1); } return message; }; @@ -54536,7 +56647,7 @@ function SimulatedResult(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -54635,9 +56746,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SimulatedResult.decode = function decode(reader, length, error) { + SimulatedResult.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult(); while (reader.pos < end) { var tag = reader.uint32(); @@ -54645,19 +56760,19 @@ break; switch (tag >>> 3) { case 1: { - message.finding = $root.google.cloud.securitycenter.v1.Finding.decode(reader, reader.uint32()); + message.finding = $root.google.cloud.securitycenter.v1.Finding.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.noViolation = $root.google.protobuf.Empty.decode(reader, reader.uint32()); + message.noViolation = $root.google.protobuf.Empty.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + message.error = $root.google.rpc.Status.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -54688,14 +56803,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SimulatedResult.verify = function verify(message) { + SimulatedResult.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.finding != null && message.hasOwnProperty("finding")) { properties.result = 1; { - var error = $root.google.cloud.securitycenter.v1.Finding.verify(message.finding); + var error = $root.google.cloud.securitycenter.v1.Finding.verify(message.finding, long + 1); if (error) return "finding." + error; } @@ -54705,7 +56824,7 @@ return "result: multiple values"; properties.result = 1; { - var error = $root.google.protobuf.Empty.verify(message.noViolation); + var error = $root.google.protobuf.Empty.verify(message.noViolation, long + 1); if (error) return "noViolation." + error; } @@ -54715,7 +56834,7 @@ return "result: multiple values"; properties.result = 1; { - var error = $root.google.rpc.Status.verify(message.error); + var error = $root.google.rpc.Status.verify(message.error, long + 1); if (error) return "error." + error; } @@ -54731,24 +56850,28 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult} SimulatedResult */ - SimulatedResult.fromObject = function fromObject(object) { + SimulatedResult.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult(); if (object.finding != null) { if (typeof object.finding !== "object") throw TypeError(".google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.finding: object expected"); - message.finding = $root.google.cloud.securitycenter.v1.Finding.fromObject(object.finding); + message.finding = $root.google.cloud.securitycenter.v1.Finding.fromObject(object.finding, long + 1); } if (object.noViolation != null) { if (typeof object.noViolation !== "object") throw TypeError(".google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.noViolation: object expected"); - message.noViolation = $root.google.protobuf.Empty.fromObject(object.noViolation); + message.noViolation = $root.google.protobuf.Empty.fromObject(object.noViolation, long + 1); } if (object.error != null) { if (typeof object.error !== "object") throw TypeError(".google.cloud.securitycenter.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.error: object expected"); - message.error = $root.google.rpc.Status.fromObject(object.error); + message.error = $root.google.rpc.Status.fromObject(object.error, long + 1); } return message; }; @@ -54837,7 +56960,7 @@ function UpdateExternalSystemRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -54912,9 +57035,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateExternalSystemRequest.decode = function decode(reader, length, error) { + UpdateExternalSystemRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.UpdateExternalSystemRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -54922,15 +57049,15 @@ break; switch (tag >>> 3) { case 1: { - message.externalSystem = $root.google.cloud.securitycenter.v1.ExternalSystem.decode(reader, reader.uint32()); + message.externalSystem = $root.google.cloud.securitycenter.v1.ExternalSystem.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -54961,16 +57088,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateExternalSystemRequest.verify = function verify(message) { + UpdateExternalSystemRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.externalSystem != null && message.hasOwnProperty("externalSystem")) { - var error = $root.google.cloud.securitycenter.v1.ExternalSystem.verify(message.externalSystem); + var error = $root.google.cloud.securitycenter.v1.ExternalSystem.verify(message.externalSystem, long + 1); if (error) return "externalSystem." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -54985,19 +57116,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.UpdateExternalSystemRequest} UpdateExternalSystemRequest */ - UpdateExternalSystemRequest.fromObject = function fromObject(object) { + UpdateExternalSystemRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.UpdateExternalSystemRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.UpdateExternalSystemRequest(); if (object.externalSystem != null) { if (typeof object.externalSystem !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateExternalSystemRequest.externalSystem: object expected"); - message.externalSystem = $root.google.cloud.securitycenter.v1.ExternalSystem.fromObject(object.externalSystem); + message.externalSystem = $root.google.cloud.securitycenter.v1.ExternalSystem.fromObject(object.externalSystem, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateExternalSystemRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -55076,7 +57211,7 @@ function UpdateFindingRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -55151,9 +57286,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateFindingRequest.decode = function decode(reader, length, error) { + UpdateFindingRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.UpdateFindingRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -55161,15 +57300,15 @@ break; switch (tag >>> 3) { case 1: { - message.finding = $root.google.cloud.securitycenter.v1.Finding.decode(reader, reader.uint32()); + message.finding = $root.google.cloud.securitycenter.v1.Finding.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -55200,16 +57339,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateFindingRequest.verify = function verify(message) { + UpdateFindingRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.finding != null && message.hasOwnProperty("finding")) { - var error = $root.google.cloud.securitycenter.v1.Finding.verify(message.finding); + var error = $root.google.cloud.securitycenter.v1.Finding.verify(message.finding, long + 1); if (error) return "finding." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -55224,19 +57367,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.UpdateFindingRequest} UpdateFindingRequest */ - UpdateFindingRequest.fromObject = function fromObject(object) { + UpdateFindingRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.UpdateFindingRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.UpdateFindingRequest(); if (object.finding != null) { if (typeof object.finding !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateFindingRequest.finding: object expected"); - message.finding = $root.google.cloud.securitycenter.v1.Finding.fromObject(object.finding); + message.finding = $root.google.cloud.securitycenter.v1.Finding.fromObject(object.finding, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateFindingRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -55315,7 +57462,7 @@ function UpdateMuteConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -55390,9 +57537,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateMuteConfigRequest.decode = function decode(reader, length, error) { + UpdateMuteConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.UpdateMuteConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -55400,15 +57551,15 @@ break; switch (tag >>> 3) { case 1: { - message.muteConfig = $root.google.cloud.securitycenter.v1.MuteConfig.decode(reader, reader.uint32()); + message.muteConfig = $root.google.cloud.securitycenter.v1.MuteConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -55439,16 +57590,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateMuteConfigRequest.verify = function verify(message) { + UpdateMuteConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.muteConfig != null && message.hasOwnProperty("muteConfig")) { - var error = $root.google.cloud.securitycenter.v1.MuteConfig.verify(message.muteConfig); + var error = $root.google.cloud.securitycenter.v1.MuteConfig.verify(message.muteConfig, long + 1); if (error) return "muteConfig." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -55463,19 +57618,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.UpdateMuteConfigRequest} UpdateMuteConfigRequest */ - UpdateMuteConfigRequest.fromObject = function fromObject(object) { + UpdateMuteConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.UpdateMuteConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.UpdateMuteConfigRequest(); if (object.muteConfig != null) { if (typeof object.muteConfig !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateMuteConfigRequest.muteConfig: object expected"); - message.muteConfig = $root.google.cloud.securitycenter.v1.MuteConfig.fromObject(object.muteConfig); + message.muteConfig = $root.google.cloud.securitycenter.v1.MuteConfig.fromObject(object.muteConfig, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateMuteConfigRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -55554,7 +57713,7 @@ function UpdateNotificationConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -55629,9 +57788,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateNotificationConfigRequest.decode = function decode(reader, length, error) { + UpdateNotificationConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.UpdateNotificationConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -55639,15 +57802,15 @@ break; switch (tag >>> 3) { case 1: { - message.notificationConfig = $root.google.cloud.securitycenter.v1.NotificationConfig.decode(reader, reader.uint32()); + message.notificationConfig = $root.google.cloud.securitycenter.v1.NotificationConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -55678,16 +57841,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateNotificationConfigRequest.verify = function verify(message) { + UpdateNotificationConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.notificationConfig != null && message.hasOwnProperty("notificationConfig")) { - var error = $root.google.cloud.securitycenter.v1.NotificationConfig.verify(message.notificationConfig); + var error = $root.google.cloud.securitycenter.v1.NotificationConfig.verify(message.notificationConfig, long + 1); if (error) return "notificationConfig." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -55702,19 +57869,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.UpdateNotificationConfigRequest} UpdateNotificationConfigRequest */ - UpdateNotificationConfigRequest.fromObject = function fromObject(object) { + UpdateNotificationConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.UpdateNotificationConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.UpdateNotificationConfigRequest(); if (object.notificationConfig != null) { if (typeof object.notificationConfig !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateNotificationConfigRequest.notificationConfig: object expected"); - message.notificationConfig = $root.google.cloud.securitycenter.v1.NotificationConfig.fromObject(object.notificationConfig); + message.notificationConfig = $root.google.cloud.securitycenter.v1.NotificationConfig.fromObject(object.notificationConfig, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateNotificationConfigRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -55793,7 +57964,7 @@ function UpdateOrganizationSettingsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -55868,9 +58039,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateOrganizationSettingsRequest.decode = function decode(reader, length, error) { + UpdateOrganizationSettingsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.UpdateOrganizationSettingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -55878,15 +58053,15 @@ break; switch (tag >>> 3) { case 1: { - message.organizationSettings = $root.google.cloud.securitycenter.v1.OrganizationSettings.decode(reader, reader.uint32()); + message.organizationSettings = $root.google.cloud.securitycenter.v1.OrganizationSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -55917,16 +58092,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateOrganizationSettingsRequest.verify = function verify(message) { + UpdateOrganizationSettingsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.organizationSettings != null && message.hasOwnProperty("organizationSettings")) { - var error = $root.google.cloud.securitycenter.v1.OrganizationSettings.verify(message.organizationSettings); + var error = $root.google.cloud.securitycenter.v1.OrganizationSettings.verify(message.organizationSettings, long + 1); if (error) return "organizationSettings." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -55941,19 +58120,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.UpdateOrganizationSettingsRequest} UpdateOrganizationSettingsRequest */ - UpdateOrganizationSettingsRequest.fromObject = function fromObject(object) { + UpdateOrganizationSettingsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.UpdateOrganizationSettingsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.UpdateOrganizationSettingsRequest(); if (object.organizationSettings != null) { if (typeof object.organizationSettings !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateOrganizationSettingsRequest.organizationSettings: object expected"); - message.organizationSettings = $root.google.cloud.securitycenter.v1.OrganizationSettings.fromObject(object.organizationSettings); + message.organizationSettings = $root.google.cloud.securitycenter.v1.OrganizationSettings.fromObject(object.organizationSettings, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateOrganizationSettingsRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -56032,7 +58215,7 @@ function UpdateSecurityHealthAnalyticsCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -56107,9 +58290,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error) { + UpdateSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.UpdateSecurityHealthAnalyticsCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -56117,15 +58304,15 @@ break; switch (tag >>> 3) { case 1: { - message.securityHealthAnalyticsCustomModule = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32()); + message.securityHealthAnalyticsCustomModule = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -56156,16 +58343,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message) { + UpdateSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.securityHealthAnalyticsCustomModule != null && message.hasOwnProperty("securityHealthAnalyticsCustomModule")) { - var error = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.verify(message.securityHealthAnalyticsCustomModule); + var error = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.verify(message.securityHealthAnalyticsCustomModule, long + 1); if (error) return "securityHealthAnalyticsCustomModule." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -56180,19 +58371,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.UpdateSecurityHealthAnalyticsCustomModuleRequest} UpdateSecurityHealthAnalyticsCustomModuleRequest */ - UpdateSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object) { + UpdateSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.UpdateSecurityHealthAnalyticsCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.UpdateSecurityHealthAnalyticsCustomModuleRequest(); if (object.securityHealthAnalyticsCustomModule != null) { if (typeof object.securityHealthAnalyticsCustomModule !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateSecurityHealthAnalyticsCustomModuleRequest.securityHealthAnalyticsCustomModule: object expected"); - message.securityHealthAnalyticsCustomModule = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.fromObject(object.securityHealthAnalyticsCustomModule); + message.securityHealthAnalyticsCustomModule = $root.google.cloud.securitycenter.v1.SecurityHealthAnalyticsCustomModule.fromObject(object.securityHealthAnalyticsCustomModule, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateSecurityHealthAnalyticsCustomModuleRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -56271,7 +58466,7 @@ function UpdateSourceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -56346,9 +58541,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateSourceRequest.decode = function decode(reader, length, error) { + UpdateSourceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.UpdateSourceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -56356,15 +58555,15 @@ break; switch (tag >>> 3) { case 1: { - message.source = $root.google.cloud.securitycenter.v1.Source.decode(reader, reader.uint32()); + message.source = $root.google.cloud.securitycenter.v1.Source.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -56395,16 +58594,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateSourceRequest.verify = function verify(message) { + UpdateSourceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.source != null && message.hasOwnProperty("source")) { - var error = $root.google.cloud.securitycenter.v1.Source.verify(message.source); + var error = $root.google.cloud.securitycenter.v1.Source.verify(message.source, long + 1); if (error) return "source." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -56419,19 +58622,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.UpdateSourceRequest} UpdateSourceRequest */ - UpdateSourceRequest.fromObject = function fromObject(object) { + UpdateSourceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.UpdateSourceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.UpdateSourceRequest(); if (object.source != null) { if (typeof object.source !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateSourceRequest.source: object expected"); - message.source = $root.google.cloud.securitycenter.v1.Source.fromObject(object.source); + message.source = $root.google.cloud.securitycenter.v1.Source.fromObject(object.source, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateSourceRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -56511,7 +58718,7 @@ function UpdateSecurityMarksRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -56596,9 +58803,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateSecurityMarksRequest.decode = function decode(reader, length, error) { + UpdateSecurityMarksRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.UpdateSecurityMarksRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -56606,19 +58817,19 @@ break; switch (tag >>> 3) { case 1: { - message.securityMarks = $root.google.cloud.securitycenter.v1.SecurityMarks.decode(reader, reader.uint32()); + message.securityMarks = $root.google.cloud.securitycenter.v1.SecurityMarks.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -56649,21 +58860,25 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateSecurityMarksRequest.verify = function verify(message) { + UpdateSecurityMarksRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) { - var error = $root.google.cloud.securitycenter.v1.SecurityMarks.verify(message.securityMarks); + var error = $root.google.cloud.securitycenter.v1.SecurityMarks.verify(message.securityMarks, long + 1); if (error) return "securityMarks." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } @@ -56678,24 +58893,28 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.UpdateSecurityMarksRequest} UpdateSecurityMarksRequest */ - UpdateSecurityMarksRequest.fromObject = function fromObject(object) { + UpdateSecurityMarksRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.UpdateSecurityMarksRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.UpdateSecurityMarksRequest(); if (object.securityMarks != null) { if (typeof object.securityMarks !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateSecurityMarksRequest.securityMarks: object expected"); - message.securityMarks = $root.google.cloud.securitycenter.v1.SecurityMarks.fromObject(object.securityMarks); + message.securityMarks = $root.google.cloud.securitycenter.v1.SecurityMarks.fromObject(object.securityMarks, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateSecurityMarksRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateSecurityMarksRequest.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } return message; }; @@ -56778,7 +58997,7 @@ function CreateBigQueryExportRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -56863,9 +59082,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateBigQueryExportRequest.decode = function decode(reader, length, error) { + CreateBigQueryExportRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CreateBigQueryExportRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -56877,7 +59100,7 @@ break; } case 2: { - message.bigQueryExport = $root.google.cloud.securitycenter.v1.BigQueryExport.decode(reader, reader.uint32()); + message.bigQueryExport = $root.google.cloud.securitycenter.v1.BigQueryExport.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -56885,7 +59108,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -56916,14 +59139,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateBigQueryExportRequest.verify = function verify(message) { + CreateBigQueryExportRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.bigQueryExport != null && message.hasOwnProperty("bigQueryExport")) { - var error = $root.google.cloud.securitycenter.v1.BigQueryExport.verify(message.bigQueryExport); + var error = $root.google.cloud.securitycenter.v1.BigQueryExport.verify(message.bigQueryExport, long + 1); if (error) return "bigQueryExport." + error; } @@ -56941,16 +59168,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CreateBigQueryExportRequest} CreateBigQueryExportRequest */ - CreateBigQueryExportRequest.fromObject = function fromObject(object) { + CreateBigQueryExportRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CreateBigQueryExportRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CreateBigQueryExportRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.bigQueryExport != null) { if (typeof object.bigQueryExport !== "object") throw TypeError(".google.cloud.securitycenter.v1.CreateBigQueryExportRequest.bigQueryExport: object expected"); - message.bigQueryExport = $root.google.cloud.securitycenter.v1.BigQueryExport.fromObject(object.bigQueryExport); + message.bigQueryExport = $root.google.cloud.securitycenter.v1.BigQueryExport.fromObject(object.bigQueryExport, long + 1); } if (object.bigQueryExportId != null) message.bigQueryExportId = String(object.bigQueryExportId); @@ -57034,7 +59265,7 @@ function UpdateBigQueryExportRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -57109,9 +59340,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateBigQueryExportRequest.decode = function decode(reader, length, error) { + UpdateBigQueryExportRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.UpdateBigQueryExportRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -57119,15 +59354,15 @@ break; switch (tag >>> 3) { case 1: { - message.bigQueryExport = $root.google.cloud.securitycenter.v1.BigQueryExport.decode(reader, reader.uint32()); + message.bigQueryExport = $root.google.cloud.securitycenter.v1.BigQueryExport.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -57158,16 +59393,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateBigQueryExportRequest.verify = function verify(message) { + UpdateBigQueryExportRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bigQueryExport != null && message.hasOwnProperty("bigQueryExport")) { - var error = $root.google.cloud.securitycenter.v1.BigQueryExport.verify(message.bigQueryExport); + var error = $root.google.cloud.securitycenter.v1.BigQueryExport.verify(message.bigQueryExport, long + 1); if (error) return "bigQueryExport." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -57182,19 +59421,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.UpdateBigQueryExportRequest} UpdateBigQueryExportRequest */ - UpdateBigQueryExportRequest.fromObject = function fromObject(object) { + UpdateBigQueryExportRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.UpdateBigQueryExportRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.UpdateBigQueryExportRequest(); if (object.bigQueryExport != null) { if (typeof object.bigQueryExport !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateBigQueryExportRequest.bigQueryExport: object expected"); - message.bigQueryExport = $root.google.cloud.securitycenter.v1.BigQueryExport.fromObject(object.bigQueryExport); + message.bigQueryExport = $root.google.cloud.securitycenter.v1.BigQueryExport.fromObject(object.bigQueryExport, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateBigQueryExportRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -57274,7 +59517,7 @@ function ListBigQueryExportsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -57359,9 +59602,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListBigQueryExportsRequest.decode = function decode(reader, length, error) { + ListBigQueryExportsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListBigQueryExportsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -57381,7 +59628,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -57412,9 +59659,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListBigQueryExportsRequest.verify = function verify(message) { + ListBigQueryExportsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -57435,9 +59686,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListBigQueryExportsRequest} ListBigQueryExportsRequest */ - ListBigQueryExportsRequest.fromObject = function fromObject(object) { + ListBigQueryExportsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListBigQueryExportsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListBigQueryExportsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -57526,7 +59781,7 @@ this.bigQueryExports = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -57602,9 +59857,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListBigQueryExportsResponse.decode = function decode(reader, length, error) { + ListBigQueryExportsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListBigQueryExportsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -57614,7 +59873,7 @@ case 1: { if (!(message.bigQueryExports && message.bigQueryExports.length)) message.bigQueryExports = []; - message.bigQueryExports.push($root.google.cloud.securitycenter.v1.BigQueryExport.decode(reader, reader.uint32())); + message.bigQueryExports.push($root.google.cloud.securitycenter.v1.BigQueryExport.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -57622,7 +59881,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -57653,14 +59912,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListBigQueryExportsResponse.verify = function verify(message) { + ListBigQueryExportsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bigQueryExports != null && message.hasOwnProperty("bigQueryExports")) { if (!Array.isArray(message.bigQueryExports)) return "bigQueryExports: array expected"; for (var i = 0; i < message.bigQueryExports.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.BigQueryExport.verify(message.bigQueryExports[i]); + var error = $root.google.cloud.securitycenter.v1.BigQueryExport.verify(message.bigQueryExports[i], long + 1); if (error) return "bigQueryExports." + error; } @@ -57679,9 +59942,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListBigQueryExportsResponse} ListBigQueryExportsResponse */ - ListBigQueryExportsResponse.fromObject = function fromObject(object) { + ListBigQueryExportsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListBigQueryExportsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListBigQueryExportsResponse(); if (object.bigQueryExports) { if (!Array.isArray(object.bigQueryExports)) @@ -57690,7 +59957,7 @@ for (var i = 0; i < object.bigQueryExports.length; ++i) { if (typeof object.bigQueryExports[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListBigQueryExportsResponse.bigQueryExports: object expected"); - message.bigQueryExports[i] = $root.google.cloud.securitycenter.v1.BigQueryExport.fromObject(object.bigQueryExports[i]); + message.bigQueryExports[i] = $root.google.cloud.securitycenter.v1.BigQueryExport.fromObject(object.bigQueryExports[i], long + 1); } } if (object.nextPageToken != null) @@ -57774,7 +60041,7 @@ function DeleteBigQueryExportRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -57839,9 +60106,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteBigQueryExportRequest.decode = function decode(reader, length, error) { + DeleteBigQueryExportRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.DeleteBigQueryExportRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -57853,7 +60124,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -57884,9 +60155,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteBigQueryExportRequest.verify = function verify(message) { + DeleteBigQueryExportRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -57901,9 +60176,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.DeleteBigQueryExportRequest} DeleteBigQueryExportRequest */ - DeleteBigQueryExportRequest.fromObject = function fromObject(object) { + DeleteBigQueryExportRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.DeleteBigQueryExportRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.DeleteBigQueryExportRequest(); if (object.name != null) message.name = String(object.name); @@ -57980,7 +60259,7 @@ function CreateEventThreatDetectionCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -58055,9 +60334,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error) { + CreateEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.CreateEventThreatDetectionCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -58069,11 +60352,11 @@ break; } case 2: { - message.eventThreatDetectionCustomModule = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.decode(reader, reader.uint32()); + message.eventThreatDetectionCustomModule = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -58104,14 +60387,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateEventThreatDetectionCustomModuleRequest.verify = function verify(message) { + CreateEventThreatDetectionCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.eventThreatDetectionCustomModule != null && message.hasOwnProperty("eventThreatDetectionCustomModule")) { - var error = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.verify(message.eventThreatDetectionCustomModule); + var error = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.verify(message.eventThreatDetectionCustomModule, long + 1); if (error) return "eventThreatDetectionCustomModule." + error; } @@ -58126,16 +60413,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.CreateEventThreatDetectionCustomModuleRequest} CreateEventThreatDetectionCustomModuleRequest */ - CreateEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object) { + CreateEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.CreateEventThreatDetectionCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.CreateEventThreatDetectionCustomModuleRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.eventThreatDetectionCustomModule != null) { if (typeof object.eventThreatDetectionCustomModule !== "object") throw TypeError(".google.cloud.securitycenter.v1.CreateEventThreatDetectionCustomModuleRequest.eventThreatDetectionCustomModule: object expected"); - message.eventThreatDetectionCustomModule = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.fromObject(object.eventThreatDetectionCustomModule); + message.eventThreatDetectionCustomModule = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.fromObject(object.eventThreatDetectionCustomModule, long + 1); } return message; }; @@ -58215,7 +60506,7 @@ function ValidateEventThreatDetectionCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -58300,9 +60591,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValidateEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error) { + ValidateEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ValidateEventThreatDetectionCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -58322,7 +60617,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -58353,9 +60648,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ValidateEventThreatDetectionCustomModuleRequest.verify = function verify(message) { + ValidateEventThreatDetectionCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -58376,9 +60675,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ValidateEventThreatDetectionCustomModuleRequest} ValidateEventThreatDetectionCustomModuleRequest */ - ValidateEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object) { + ValidateEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ValidateEventThreatDetectionCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ValidateEventThreatDetectionCustomModuleRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -58465,7 +60768,7 @@ function ValidateEventThreatDetectionCustomModuleResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -58530,9 +60833,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValidateEventThreatDetectionCustomModuleResponse.decode = function decode(reader, length, error) { + ValidateEventThreatDetectionCustomModuleResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ValidateEventThreatDetectionCustomModuleResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -58540,11 +60847,11 @@ break; switch (tag >>> 3) { case 2: { - message.errors = $root.google.cloud.securitycenter.v1.CustomModuleValidationErrors.decode(reader, reader.uint32()); + message.errors = $root.google.cloud.securitycenter.v1.CustomModuleValidationErrors.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -58575,11 +60882,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ValidateEventThreatDetectionCustomModuleResponse.verify = function verify(message) { + ValidateEventThreatDetectionCustomModuleResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.errors != null && message.hasOwnProperty("errors")) { - var error = $root.google.cloud.securitycenter.v1.CustomModuleValidationErrors.verify(message.errors); + var error = $root.google.cloud.securitycenter.v1.CustomModuleValidationErrors.verify(message.errors, long + 1); if (error) return "errors." + error; } @@ -58594,14 +60905,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ValidateEventThreatDetectionCustomModuleResponse} ValidateEventThreatDetectionCustomModuleResponse */ - ValidateEventThreatDetectionCustomModuleResponse.fromObject = function fromObject(object) { + ValidateEventThreatDetectionCustomModuleResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ValidateEventThreatDetectionCustomModuleResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ValidateEventThreatDetectionCustomModuleResponse(); if (object.errors != null) { if (typeof object.errors !== "object") throw TypeError(".google.cloud.securitycenter.v1.ValidateEventThreatDetectionCustomModuleResponse.errors: object expected"); - message.errors = $root.google.cloud.securitycenter.v1.CustomModuleValidationErrors.fromObject(object.errors); + message.errors = $root.google.cloud.securitycenter.v1.CustomModuleValidationErrors.fromObject(object.errors, long + 1); } return message; }; @@ -58675,7 +60990,7 @@ function DeleteEventThreatDetectionCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -58740,9 +61055,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error) { + DeleteEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.DeleteEventThreatDetectionCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -58754,7 +61073,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -58785,9 +61104,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteEventThreatDetectionCustomModuleRequest.verify = function verify(message) { + DeleteEventThreatDetectionCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -58802,9 +61125,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.DeleteEventThreatDetectionCustomModuleRequest} DeleteEventThreatDetectionCustomModuleRequest */ - DeleteEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object) { + DeleteEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.DeleteEventThreatDetectionCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.DeleteEventThreatDetectionCustomModuleRequest(); if (object.name != null) message.name = String(object.name); @@ -58880,7 +61207,7 @@ function GetEventThreatDetectionCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -58945,9 +61272,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error) { + GetEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GetEventThreatDetectionCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -58959,7 +61290,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -58990,9 +61321,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetEventThreatDetectionCustomModuleRequest.verify = function verify(message) { + GetEventThreatDetectionCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -59007,9 +61342,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GetEventThreatDetectionCustomModuleRequest} GetEventThreatDetectionCustomModuleRequest */ - GetEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object) { + GetEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GetEventThreatDetectionCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GetEventThreatDetectionCustomModuleRequest(); if (object.name != null) message.name = String(object.name); @@ -59087,7 +61426,7 @@ function ListDescendantEventThreatDetectionCustomModulesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -59172,9 +61511,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListDescendantEventThreatDetectionCustomModulesRequest.decode = function decode(reader, length, error) { + ListDescendantEventThreatDetectionCustomModulesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListDescendantEventThreatDetectionCustomModulesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -59194,7 +61537,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -59225,9 +61568,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListDescendantEventThreatDetectionCustomModulesRequest.verify = function verify(message) { + ListDescendantEventThreatDetectionCustomModulesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -59248,9 +61595,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListDescendantEventThreatDetectionCustomModulesRequest} ListDescendantEventThreatDetectionCustomModulesRequest */ - ListDescendantEventThreatDetectionCustomModulesRequest.fromObject = function fromObject(object) { + ListDescendantEventThreatDetectionCustomModulesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListDescendantEventThreatDetectionCustomModulesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListDescendantEventThreatDetectionCustomModulesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -59339,7 +61690,7 @@ this.eventThreatDetectionCustomModules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -59415,9 +61766,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListDescendantEventThreatDetectionCustomModulesResponse.decode = function decode(reader, length, error) { + ListDescendantEventThreatDetectionCustomModulesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListDescendantEventThreatDetectionCustomModulesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -59427,7 +61782,7 @@ case 1: { if (!(message.eventThreatDetectionCustomModules && message.eventThreatDetectionCustomModules.length)) message.eventThreatDetectionCustomModules = []; - message.eventThreatDetectionCustomModules.push($root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.decode(reader, reader.uint32())); + message.eventThreatDetectionCustomModules.push($root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -59435,7 +61790,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -59466,14 +61821,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListDescendantEventThreatDetectionCustomModulesResponse.verify = function verify(message) { + ListDescendantEventThreatDetectionCustomModulesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.eventThreatDetectionCustomModules != null && message.hasOwnProperty("eventThreatDetectionCustomModules")) { if (!Array.isArray(message.eventThreatDetectionCustomModules)) return "eventThreatDetectionCustomModules: array expected"; for (var i = 0; i < message.eventThreatDetectionCustomModules.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.verify(message.eventThreatDetectionCustomModules[i]); + var error = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.verify(message.eventThreatDetectionCustomModules[i], long + 1); if (error) return "eventThreatDetectionCustomModules." + error; } @@ -59492,9 +61851,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListDescendantEventThreatDetectionCustomModulesResponse} ListDescendantEventThreatDetectionCustomModulesResponse */ - ListDescendantEventThreatDetectionCustomModulesResponse.fromObject = function fromObject(object) { + ListDescendantEventThreatDetectionCustomModulesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListDescendantEventThreatDetectionCustomModulesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListDescendantEventThreatDetectionCustomModulesResponse(); if (object.eventThreatDetectionCustomModules) { if (!Array.isArray(object.eventThreatDetectionCustomModules)) @@ -59503,7 +61866,7 @@ for (var i = 0; i < object.eventThreatDetectionCustomModules.length; ++i) { if (typeof object.eventThreatDetectionCustomModules[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListDescendantEventThreatDetectionCustomModulesResponse.eventThreatDetectionCustomModules: object expected"); - message.eventThreatDetectionCustomModules[i] = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.fromObject(object.eventThreatDetectionCustomModules[i]); + message.eventThreatDetectionCustomModules[i] = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.fromObject(object.eventThreatDetectionCustomModules[i], long + 1); } } if (object.nextPageToken != null) @@ -59589,7 +61952,7 @@ function ListEventThreatDetectionCustomModulesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -59674,9 +62037,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEventThreatDetectionCustomModulesRequest.decode = function decode(reader, length, error) { + ListEventThreatDetectionCustomModulesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListEventThreatDetectionCustomModulesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -59696,7 +62063,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -59727,9 +62094,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEventThreatDetectionCustomModulesRequest.verify = function verify(message) { + ListEventThreatDetectionCustomModulesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -59750,9 +62121,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListEventThreatDetectionCustomModulesRequest} ListEventThreatDetectionCustomModulesRequest */ - ListEventThreatDetectionCustomModulesRequest.fromObject = function fromObject(object) { + ListEventThreatDetectionCustomModulesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListEventThreatDetectionCustomModulesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListEventThreatDetectionCustomModulesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -59841,7 +62216,7 @@ this.eventThreatDetectionCustomModules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -59917,9 +62292,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEventThreatDetectionCustomModulesResponse.decode = function decode(reader, length, error) { + ListEventThreatDetectionCustomModulesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListEventThreatDetectionCustomModulesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -59929,7 +62308,7 @@ case 1: { if (!(message.eventThreatDetectionCustomModules && message.eventThreatDetectionCustomModules.length)) message.eventThreatDetectionCustomModules = []; - message.eventThreatDetectionCustomModules.push($root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.decode(reader, reader.uint32())); + message.eventThreatDetectionCustomModules.push($root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -59937,7 +62316,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -59968,14 +62347,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEventThreatDetectionCustomModulesResponse.verify = function verify(message) { + ListEventThreatDetectionCustomModulesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.eventThreatDetectionCustomModules != null && message.hasOwnProperty("eventThreatDetectionCustomModules")) { if (!Array.isArray(message.eventThreatDetectionCustomModules)) return "eventThreatDetectionCustomModules: array expected"; for (var i = 0; i < message.eventThreatDetectionCustomModules.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.verify(message.eventThreatDetectionCustomModules[i]); + var error = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.verify(message.eventThreatDetectionCustomModules[i], long + 1); if (error) return "eventThreatDetectionCustomModules." + error; } @@ -59994,9 +62377,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListEventThreatDetectionCustomModulesResponse} ListEventThreatDetectionCustomModulesResponse */ - ListEventThreatDetectionCustomModulesResponse.fromObject = function fromObject(object) { + ListEventThreatDetectionCustomModulesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListEventThreatDetectionCustomModulesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListEventThreatDetectionCustomModulesResponse(); if (object.eventThreatDetectionCustomModules) { if (!Array.isArray(object.eventThreatDetectionCustomModules)) @@ -60005,7 +62392,7 @@ for (var i = 0; i < object.eventThreatDetectionCustomModules.length; ++i) { if (typeof object.eventThreatDetectionCustomModules[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListEventThreatDetectionCustomModulesResponse.eventThreatDetectionCustomModules: object expected"); - message.eventThreatDetectionCustomModules[i] = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.fromObject(object.eventThreatDetectionCustomModules[i]); + message.eventThreatDetectionCustomModules[i] = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.fromObject(object.eventThreatDetectionCustomModules[i], long + 1); } } if (object.nextPageToken != null) @@ -60090,7 +62477,7 @@ function UpdateEventThreatDetectionCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -60165,9 +62552,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error) { + UpdateEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.UpdateEventThreatDetectionCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -60175,15 +62566,15 @@ break; switch (tag >>> 3) { case 1: { - message.eventThreatDetectionCustomModule = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.decode(reader, reader.uint32()); + message.eventThreatDetectionCustomModule = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -60214,16 +62605,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateEventThreatDetectionCustomModuleRequest.verify = function verify(message) { + UpdateEventThreatDetectionCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.eventThreatDetectionCustomModule != null && message.hasOwnProperty("eventThreatDetectionCustomModule")) { - var error = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.verify(message.eventThreatDetectionCustomModule); + var error = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.verify(message.eventThreatDetectionCustomModule, long + 1); if (error) return "eventThreatDetectionCustomModule." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -60238,19 +62633,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.UpdateEventThreatDetectionCustomModuleRequest} UpdateEventThreatDetectionCustomModuleRequest */ - UpdateEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object) { + UpdateEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.UpdateEventThreatDetectionCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.UpdateEventThreatDetectionCustomModuleRequest(); if (object.eventThreatDetectionCustomModule != null) { if (typeof object.eventThreatDetectionCustomModule !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateEventThreatDetectionCustomModuleRequest.eventThreatDetectionCustomModule: object expected"); - message.eventThreatDetectionCustomModule = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.fromObject(object.eventThreatDetectionCustomModule); + message.eventThreatDetectionCustomModule = $root.google.cloud.securitycenter.v1.EventThreatDetectionCustomModule.fromObject(object.eventThreatDetectionCustomModule, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1.UpdateEventThreatDetectionCustomModuleRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -60328,7 +62727,7 @@ function GetEffectiveEventThreatDetectionCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -60393,9 +62792,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetEffectiveEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error) { + GetEffectiveEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.GetEffectiveEventThreatDetectionCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -60407,7 +62810,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -60438,9 +62841,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetEffectiveEventThreatDetectionCustomModuleRequest.verify = function verify(message) { + GetEffectiveEventThreatDetectionCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -60455,9 +62862,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.GetEffectiveEventThreatDetectionCustomModuleRequest} GetEffectiveEventThreatDetectionCustomModuleRequest */ - GetEffectiveEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object) { + GetEffectiveEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.GetEffectiveEventThreatDetectionCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.GetEffectiveEventThreatDetectionCustomModuleRequest(); if (object.name != null) message.name = String(object.name); @@ -60535,7 +62946,7 @@ function ListEffectiveEventThreatDetectionCustomModulesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -60620,9 +63031,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEffectiveEventThreatDetectionCustomModulesRequest.decode = function decode(reader, length, error) { + ListEffectiveEventThreatDetectionCustomModulesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListEffectiveEventThreatDetectionCustomModulesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -60642,7 +63057,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -60673,9 +63088,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEffectiveEventThreatDetectionCustomModulesRequest.verify = function verify(message) { + ListEffectiveEventThreatDetectionCustomModulesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -60696,9 +63115,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListEffectiveEventThreatDetectionCustomModulesRequest} ListEffectiveEventThreatDetectionCustomModulesRequest */ - ListEffectiveEventThreatDetectionCustomModulesRequest.fromObject = function fromObject(object) { + ListEffectiveEventThreatDetectionCustomModulesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListEffectiveEventThreatDetectionCustomModulesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListEffectiveEventThreatDetectionCustomModulesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -60787,7 +63210,7 @@ this.effectiveEventThreatDetectionCustomModules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -60863,9 +63286,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEffectiveEventThreatDetectionCustomModulesResponse.decode = function decode(reader, length, error) { + ListEffectiveEventThreatDetectionCustomModulesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ListEffectiveEventThreatDetectionCustomModulesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -60875,7 +63302,7 @@ case 1: { if (!(message.effectiveEventThreatDetectionCustomModules && message.effectiveEventThreatDetectionCustomModules.length)) message.effectiveEventThreatDetectionCustomModules = []; - message.effectiveEventThreatDetectionCustomModules.push($root.google.cloud.securitycenter.v1.EffectiveEventThreatDetectionCustomModule.decode(reader, reader.uint32())); + message.effectiveEventThreatDetectionCustomModules.push($root.google.cloud.securitycenter.v1.EffectiveEventThreatDetectionCustomModule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -60883,7 +63310,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -60914,14 +63341,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEffectiveEventThreatDetectionCustomModulesResponse.verify = function verify(message) { + ListEffectiveEventThreatDetectionCustomModulesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.effectiveEventThreatDetectionCustomModules != null && message.hasOwnProperty("effectiveEventThreatDetectionCustomModules")) { if (!Array.isArray(message.effectiveEventThreatDetectionCustomModules)) return "effectiveEventThreatDetectionCustomModules: array expected"; for (var i = 0; i < message.effectiveEventThreatDetectionCustomModules.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.EffectiveEventThreatDetectionCustomModule.verify(message.effectiveEventThreatDetectionCustomModules[i]); + var error = $root.google.cloud.securitycenter.v1.EffectiveEventThreatDetectionCustomModule.verify(message.effectiveEventThreatDetectionCustomModules[i], long + 1); if (error) return "effectiveEventThreatDetectionCustomModules." + error; } @@ -60940,9 +63371,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ListEffectiveEventThreatDetectionCustomModulesResponse} ListEffectiveEventThreatDetectionCustomModulesResponse */ - ListEffectiveEventThreatDetectionCustomModulesResponse.fromObject = function fromObject(object) { + ListEffectiveEventThreatDetectionCustomModulesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ListEffectiveEventThreatDetectionCustomModulesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ListEffectiveEventThreatDetectionCustomModulesResponse(); if (object.effectiveEventThreatDetectionCustomModules) { if (!Array.isArray(object.effectiveEventThreatDetectionCustomModules)) @@ -60951,7 +63386,7 @@ for (var i = 0; i < object.effectiveEventThreatDetectionCustomModules.length; ++i) { if (typeof object.effectiveEventThreatDetectionCustomModules[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ListEffectiveEventThreatDetectionCustomModulesResponse.effectiveEventThreatDetectionCustomModules: object expected"); - message.effectiveEventThreatDetectionCustomModules[i] = $root.google.cloud.securitycenter.v1.EffectiveEventThreatDetectionCustomModule.fromObject(object.effectiveEventThreatDetectionCustomModules[i]); + message.effectiveEventThreatDetectionCustomModules[i] = $root.google.cloud.securitycenter.v1.EffectiveEventThreatDetectionCustomModule.fromObject(object.effectiveEventThreatDetectionCustomModules[i], long + 1); } } if (object.nextPageToken != null) @@ -61039,7 +63474,7 @@ this.resourceValueConfigsMetadata = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -61135,9 +63570,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Simulation.decode = function decode(reader, length, error) { + Simulation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Simulation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -61149,13 +63588,13 @@ break; } case 2: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { if (!(message.resourceValueConfigsMetadata && message.resourceValueConfigsMetadata.length)) message.resourceValueConfigsMetadata = []; - message.resourceValueConfigsMetadata.push($root.google.cloud.securitycenter.v1.ResourceValueConfigMetadata.decode(reader, reader.uint32())); + message.resourceValueConfigsMetadata.push($root.google.cloud.securitycenter.v1.ResourceValueConfigMetadata.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { @@ -61163,7 +63602,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -61194,14 +63633,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Simulation.verify = function verify(message) { + Simulation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } @@ -61209,7 +63652,7 @@ if (!Array.isArray(message.resourceValueConfigsMetadata)) return "resourceValueConfigsMetadata: array expected"; for (var i = 0; i < message.resourceValueConfigsMetadata.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.ResourceValueConfigMetadata.verify(message.resourceValueConfigsMetadata[i]); + var error = $root.google.cloud.securitycenter.v1.ResourceValueConfigMetadata.verify(message.resourceValueConfigsMetadata[i], long + 1); if (error) return "resourceValueConfigsMetadata." + error; } @@ -61235,16 +63678,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Simulation} Simulation */ - Simulation.fromObject = function fromObject(object) { + Simulation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Simulation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Simulation(); if (object.name != null) message.name = String(object.name); if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v1.Simulation.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.resourceValueConfigsMetadata) { if (!Array.isArray(object.resourceValueConfigsMetadata)) @@ -61253,7 +63700,7 @@ for (var i = 0; i < object.resourceValueConfigsMetadata.length; ++i) { if (typeof object.resourceValueConfigsMetadata[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.Simulation.resourceValueConfigsMetadata: object expected"); - message.resourceValueConfigsMetadata[i] = $root.google.cloud.securitycenter.v1.ResourceValueConfigMetadata.fromObject(object.resourceValueConfigsMetadata[i]); + message.resourceValueConfigsMetadata[i] = $root.google.cloud.securitycenter.v1.ResourceValueConfigMetadata.fromObject(object.resourceValueConfigsMetadata[i], long + 1); } } switch (object.cloudProvider) { @@ -61373,7 +63820,7 @@ this.resourceValueConfigsUsed = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -61499,9 +63946,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValuedResource.decode = function decode(reader, length, error) { + ValuedResource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ValuedResource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -61535,11 +63986,11 @@ case 7: { if (!(message.resourceValueConfigsUsed && message.resourceValueConfigsUsed.length)) message.resourceValueConfigsUsed = []; - message.resourceValueConfigsUsed.push($root.google.cloud.securitycenter.v1.ResourceValueConfigMetadata.decode(reader, reader.uint32())); + message.resourceValueConfigsUsed.push($root.google.cloud.securitycenter.v1.ResourceValueConfigMetadata.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -61570,9 +64021,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ValuedResource.verify = function verify(message) { + ValuedResource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -61602,7 +64057,7 @@ if (!Array.isArray(message.resourceValueConfigsUsed)) return "resourceValueConfigsUsed: array expected"; for (var i = 0; i < message.resourceValueConfigsUsed.length; ++i) { - var error = $root.google.cloud.securitycenter.v1.ResourceValueConfigMetadata.verify(message.resourceValueConfigsUsed[i]); + var error = $root.google.cloud.securitycenter.v1.ResourceValueConfigMetadata.verify(message.resourceValueConfigsUsed[i], long + 1); if (error) return "resourceValueConfigsUsed." + error; } @@ -61618,9 +64073,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ValuedResource} ValuedResource */ - ValuedResource.fromObject = function fromObject(object) { + ValuedResource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ValuedResource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ValuedResource(); if (object.name != null) message.name = String(object.name); @@ -61663,7 +64122,7 @@ for (var i = 0; i < object.resourceValueConfigsUsed.length; ++i) { if (typeof object.resourceValueConfigsUsed[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1.ValuedResource.resourceValueConfigsUsed: object expected"); - message.resourceValueConfigsUsed[i] = $root.google.cloud.securitycenter.v1.ResourceValueConfigMetadata.fromObject(object.resourceValueConfigsUsed[i]); + message.resourceValueConfigsUsed[i] = $root.google.cloud.securitycenter.v1.ResourceValueConfigMetadata.fromObject(object.resourceValueConfigsUsed[i], long + 1); } } return message; @@ -61779,7 +64238,7 @@ function ResourceValueConfigMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -61844,9 +64303,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceValueConfigMetadata.decode = function decode(reader, length, error) { + ResourceValueConfigMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.ResourceValueConfigMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -61858,7 +64321,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -61889,9 +64352,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceValueConfigMetadata.verify = function verify(message) { + ResourceValueConfigMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -61906,9 +64373,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.ResourceValueConfigMetadata} ResourceValueConfigMetadata */ - ResourceValueConfigMetadata.fromObject = function fromObject(object) { + ResourceValueConfigMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.ResourceValueConfigMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.ResourceValueConfigMetadata(); if (object.name != null) message.name = String(object.name); @@ -61987,7 +64458,7 @@ function Source(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -62082,9 +64553,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Source.decode = function decode(reader, length, error) { + Source.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1.Source(); while (reader.pos < end) { var tag = reader.uint32(); @@ -62108,7 +64583,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -62139,9 +64614,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Source.verify = function verify(message) { + Source.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -62165,9 +64644,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1.Source} Source */ - Source.fromObject = function fromObject(object) { + Source.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1.Source) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1.Source(); if (object.name != null) message.name = String(object.name); @@ -62277,7 +64760,7 @@ this.resourceProperties = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -62395,9 +64878,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Asset.decode = function decode(reader, length, error) { + Asset.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.Asset(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -62409,7 +64896,7 @@ break; } case 2: { - message.securityCenterProperties = $root.google.cloud.securitycenter.v1beta1.Asset.SecurityCenterProperties.decode(reader, reader.uint32()); + message.securityCenterProperties = $root.google.cloud.securitycenter.v1beta1.Asset.SecurityCenterProperties.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -62425,30 +64912,32 @@ key = reader.string(); break; case 2: - value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.resourceProperties, key); message.resourceProperties[key] = value; break; } case 8: { - message.securityMarks = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.decode(reader, reader.uint32()); + message.securityMarks = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -62479,14 +64968,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Asset.verify = function verify(message) { + Asset.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.securityCenterProperties != null && message.hasOwnProperty("securityCenterProperties")) { - var error = $root.google.cloud.securitycenter.v1beta1.Asset.SecurityCenterProperties.verify(message.securityCenterProperties); + var error = $root.google.cloud.securitycenter.v1beta1.Asset.SecurityCenterProperties.verify(message.securityCenterProperties, long + 1); if (error) return "securityCenterProperties." + error; } @@ -62495,23 +64988,23 @@ return "resourceProperties: object expected"; var key = Object.keys(message.resourceProperties); for (var i = 0; i < key.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.resourceProperties[key[i]]); + var error = $root.google.protobuf.Value.verify(message.resourceProperties[key[i]], long + 1); if (error) return "resourceProperties." + error; } } if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) { - var error = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.verify(message.securityMarks); + var error = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.verify(message.securityMarks, long + 1); if (error) return "securityMarks." + error; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -62526,41 +65019,47 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.Asset} Asset */ - Asset.fromObject = function fromObject(object) { + Asset.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.Asset) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.Asset(); if (object.name != null) message.name = String(object.name); if (object.securityCenterProperties != null) { if (typeof object.securityCenterProperties !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.Asset.securityCenterProperties: object expected"); - message.securityCenterProperties = $root.google.cloud.securitycenter.v1beta1.Asset.SecurityCenterProperties.fromObject(object.securityCenterProperties); + message.securityCenterProperties = $root.google.cloud.securitycenter.v1beta1.Asset.SecurityCenterProperties.fromObject(object.securityCenterProperties, long + 1); } if (object.resourceProperties) { if (typeof object.resourceProperties !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.Asset.resourceProperties: object expected"); message.resourceProperties = {}; for (var keys = Object.keys(object.resourceProperties), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.resourceProperties, keys[i]); if (typeof object.resourceProperties[keys[i]] !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.Asset.resourceProperties: object expected"); - message.resourceProperties[keys[i]] = $root.google.protobuf.Value.fromObject(object.resourceProperties[keys[i]]); + message.resourceProperties[keys[i]] = $root.google.protobuf.Value.fromObject(object.resourceProperties[keys[i]], long + 1); } } if (object.securityMarks != null) { if (typeof object.securityMarks !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.Asset.securityMarks: object expected"); - message.securityMarks = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.fromObject(object.securityMarks); + message.securityMarks = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.fromObject(object.securityMarks, long + 1); } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.Asset.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.Asset.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } return message; }; @@ -62594,8 +65093,11 @@ var keys2; if (message.resourceProperties && (keys2 = Object.keys(message.resourceProperties)).length) { object.resourceProperties = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.resourceProperties, keys2[j]); object.resourceProperties[keys2[j]] = $root.google.protobuf.Value.toObject(message.resourceProperties[keys2[j]], options); + } } if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) object.securityMarks = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.toObject(message.securityMarks, options); @@ -62657,7 +65159,7 @@ this.resourceOwners = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -62763,9 +65265,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityCenterProperties.decode = function decode(reader, length, error) { + SecurityCenterProperties.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.Asset.SecurityCenterProperties(); while (reader.pos < end) { var tag = reader.uint32(); @@ -62795,7 +65301,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -62826,9 +65332,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityCenterProperties.verify = function verify(message) { + SecurityCenterProperties.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceName != null && message.hasOwnProperty("resourceName")) if (!$util.isString(message.resourceName)) return "resourceName: string expected"; @@ -62859,9 +65369,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.Asset.SecurityCenterProperties} SecurityCenterProperties */ - SecurityCenterProperties.fromObject = function fromObject(object) { + SecurityCenterProperties.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.Asset.SecurityCenterProperties) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.Asset.SecurityCenterProperties(); if (object.resourceName != null) message.resourceName = String(object.resourceName); @@ -62972,7 +65486,7 @@ this.marks = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -63048,9 +65562,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityMarks.decode = function decode(reader, length, error) { + SecurityMarks.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.SecurityMarks(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -63077,15 +65595,17 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.marks, key); message.marks[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -63116,9 +65636,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityMarks.verify = function verify(message) { + SecurityMarks.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -63141,9 +65665,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.SecurityMarks} SecurityMarks */ - SecurityMarks.fromObject = function fromObject(object) { + SecurityMarks.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.SecurityMarks) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.SecurityMarks(); if (object.name != null) message.name = String(object.name); @@ -63151,8 +65679,11 @@ if (typeof object.marks !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.SecurityMarks.marks: object expected"); message.marks = {}; - for (var keys = Object.keys(object.marks), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.marks), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.marks, keys[i]); message.marks[keys[i]] = String(object.marks[keys[i]]); + } } return message; }; @@ -63179,8 +65710,11 @@ var keys2; if (message.marks && (keys2 = Object.keys(message.marks)).length) { object.marks = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.marks, keys2[j]); object.marks[keys2[j]] = message.marks[keys2[j]]; + } } return object; }; @@ -63244,7 +65778,7 @@ this.sourceProperties = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -63402,9 +65936,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Finding.decode = function decode(reader, length, error) { + Finding.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.Finding(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -63448,30 +65986,32 @@ key = reader.string(); break; case 2: - value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.sourceProperties, key); message.sourceProperties[key] = value; break; } case 8: { - message.securityMarks = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.decode(reader, reader.uint32()); + message.securityMarks = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.eventTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.eventTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -63502,9 +66042,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Finding.verify = function verify(message) { + Finding.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -63534,23 +66078,23 @@ return "sourceProperties: object expected"; var key = Object.keys(message.sourceProperties); for (var i = 0; i < key.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.sourceProperties[key[i]]); + var error = $root.google.protobuf.Value.verify(message.sourceProperties[key[i]], long + 1); if (error) return "sourceProperties." + error; } } if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) { - var error = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.verify(message.securityMarks); + var error = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.verify(message.securityMarks, long + 1); if (error) return "securityMarks." + error; } if (message.eventTime != null && message.hasOwnProperty("eventTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.eventTime); + var error = $root.google.protobuf.Timestamp.verify(message.eventTime, long + 1); if (error) return "eventTime." + error; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } @@ -63565,9 +66109,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.Finding} Finding */ - Finding.fromObject = function fromObject(object) { + Finding.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.Finding) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.Finding(); if (object.name != null) message.name = String(object.name); @@ -63604,25 +66152,27 @@ throw TypeError(".google.cloud.securitycenter.v1beta1.Finding.sourceProperties: object expected"); message.sourceProperties = {}; for (var keys = Object.keys(object.sourceProperties), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.sourceProperties, keys[i]); if (typeof object.sourceProperties[keys[i]] !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.Finding.sourceProperties: object expected"); - message.sourceProperties[keys[i]] = $root.google.protobuf.Value.fromObject(object.sourceProperties[keys[i]]); + message.sourceProperties[keys[i]] = $root.google.protobuf.Value.fromObject(object.sourceProperties[keys[i]], long + 1); } } if (object.securityMarks != null) { if (typeof object.securityMarks !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.Finding.securityMarks: object expected"); - message.securityMarks = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.fromObject(object.securityMarks); + message.securityMarks = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.fromObject(object.securityMarks, long + 1); } if (object.eventTime != null) { if (typeof object.eventTime !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.Finding.eventTime: object expected"); - message.eventTime = $root.google.protobuf.Timestamp.fromObject(object.eventTime); + message.eventTime = $root.google.protobuf.Timestamp.fromObject(object.eventTime, long + 1); } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.Finding.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } return message; }; @@ -63668,8 +66218,11 @@ var keys2; if (message.sourceProperties && (keys2 = Object.keys(message.sourceProperties)).length) { object.sourceProperties = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.sourceProperties, keys2[j]); object.sourceProperties[keys2[j]] = $root.google.protobuf.Value.toObject(message.sourceProperties[keys2[j]], options); + } } if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) object.securityMarks = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.toObject(message.securityMarks, options); @@ -63747,7 +66300,7 @@ function OrganizationSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -63832,9 +66385,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OrganizationSettings.decode = function decode(reader, length, error) { + OrganizationSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.OrganizationSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -63850,11 +66407,11 @@ break; } case 3: { - message.assetDiscoveryConfig = $root.google.cloud.securitycenter.v1beta1.OrganizationSettings.AssetDiscoveryConfig.decode(reader, reader.uint32()); + message.assetDiscoveryConfig = $root.google.cloud.securitycenter.v1beta1.OrganizationSettings.AssetDiscoveryConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -63885,9 +66442,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OrganizationSettings.verify = function verify(message) { + OrganizationSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -63895,7 +66456,7 @@ if (typeof message.enableAssetDiscovery !== "boolean") return "enableAssetDiscovery: boolean expected"; if (message.assetDiscoveryConfig != null && message.hasOwnProperty("assetDiscoveryConfig")) { - var error = $root.google.cloud.securitycenter.v1beta1.OrganizationSettings.AssetDiscoveryConfig.verify(message.assetDiscoveryConfig); + var error = $root.google.cloud.securitycenter.v1beta1.OrganizationSettings.AssetDiscoveryConfig.verify(message.assetDiscoveryConfig, long + 1); if (error) return "assetDiscoveryConfig." + error; } @@ -63910,9 +66471,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.OrganizationSettings} OrganizationSettings */ - OrganizationSettings.fromObject = function fromObject(object) { + OrganizationSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.OrganizationSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.OrganizationSettings(); if (object.name != null) message.name = String(object.name); @@ -63921,7 +66486,7 @@ if (object.assetDiscoveryConfig != null) { if (typeof object.assetDiscoveryConfig !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.OrganizationSettings.assetDiscoveryConfig: object expected"); - message.assetDiscoveryConfig = $root.google.cloud.securitycenter.v1beta1.OrganizationSettings.AssetDiscoveryConfig.fromObject(object.assetDiscoveryConfig); + message.assetDiscoveryConfig = $root.google.cloud.securitycenter.v1beta1.OrganizationSettings.AssetDiscoveryConfig.fromObject(object.assetDiscoveryConfig, long + 1); } return message; }; @@ -64001,7 +66566,7 @@ this.projectIds = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -64077,9 +66642,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetDiscoveryConfig.decode = function decode(reader, length, error) { + AssetDiscoveryConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.OrganizationSettings.AssetDiscoveryConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -64097,7 +66666,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -64128,9 +66697,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AssetDiscoveryConfig.verify = function verify(message) { + AssetDiscoveryConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.projectIds != null && message.hasOwnProperty("projectIds")) { if (!Array.isArray(message.projectIds)) return "projectIds: array expected"; @@ -64158,9 +66731,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.OrganizationSettings.AssetDiscoveryConfig} AssetDiscoveryConfig */ - AssetDiscoveryConfig.fromObject = function fromObject(object) { + AssetDiscoveryConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.OrganizationSettings.AssetDiscoveryConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.OrganizationSettings.AssetDiscoveryConfig(); if (object.projectIds) { if (!Array.isArray(object.projectIds)) @@ -64288,7 +66865,7 @@ function RunAssetDiscoveryResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -64363,9 +66940,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RunAssetDiscoveryResponse.decode = function decode(reader, length, error) { + RunAssetDiscoveryResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.RunAssetDiscoveryResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -64377,11 +66958,11 @@ break; } case 2: { - message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -64412,9 +66993,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RunAssetDiscoveryResponse.verify = function verify(message) { + RunAssetDiscoveryResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.state != null && message.hasOwnProperty("state")) switch (message.state) { default: @@ -64426,7 +67011,7 @@ break; } if (message.duration != null && message.hasOwnProperty("duration")) { - var error = $root.google.protobuf.Duration.verify(message.duration); + var error = $root.google.protobuf.Duration.verify(message.duration, long + 1); if (error) return "duration." + error; } @@ -64441,9 +67026,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.RunAssetDiscoveryResponse} RunAssetDiscoveryResponse */ - RunAssetDiscoveryResponse.fromObject = function fromObject(object) { + RunAssetDiscoveryResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.RunAssetDiscoveryResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.RunAssetDiscoveryResponse(); switch (object.state) { default: @@ -64472,7 +67061,7 @@ if (object.duration != null) { if (typeof object.duration !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.RunAssetDiscoveryResponse.duration: object expected"); - message.duration = $root.google.protobuf.Duration.fromObject(object.duration); + message.duration = $root.google.protobuf.Duration.fromObject(object.duration, long + 1); } return message; }; @@ -65199,7 +67788,7 @@ function CreateFindingRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -65284,9 +67873,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateFindingRequest.decode = function decode(reader, length, error) { + CreateFindingRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.CreateFindingRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -65302,11 +67895,11 @@ break; } case 3: { - message.finding = $root.google.cloud.securitycenter.v1beta1.Finding.decode(reader, reader.uint32()); + message.finding = $root.google.cloud.securitycenter.v1beta1.Finding.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -65337,9 +67930,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateFindingRequest.verify = function verify(message) { + CreateFindingRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -65347,7 +67944,7 @@ if (!$util.isString(message.findingId)) return "findingId: string expected"; if (message.finding != null && message.hasOwnProperty("finding")) { - var error = $root.google.cloud.securitycenter.v1beta1.Finding.verify(message.finding); + var error = $root.google.cloud.securitycenter.v1beta1.Finding.verify(message.finding, long + 1); if (error) return "finding." + error; } @@ -65362,9 +67959,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.CreateFindingRequest} CreateFindingRequest */ - CreateFindingRequest.fromObject = function fromObject(object) { + CreateFindingRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.CreateFindingRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.CreateFindingRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -65373,7 +67974,7 @@ if (object.finding != null) { if (typeof object.finding !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.CreateFindingRequest.finding: object expected"); - message.finding = $root.google.cloud.securitycenter.v1beta1.Finding.fromObject(object.finding); + message.finding = $root.google.cloud.securitycenter.v1beta1.Finding.fromObject(object.finding, long + 1); } return message; }; @@ -65455,7 +68056,7 @@ function CreateSourceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -65530,9 +68131,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateSourceRequest.decode = function decode(reader, length, error) { + CreateSourceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.CreateSourceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -65544,11 +68149,11 @@ break; } case 2: { - message.source = $root.google.cloud.securitycenter.v1beta1.Source.decode(reader, reader.uint32()); + message.source = $root.google.cloud.securitycenter.v1beta1.Source.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -65579,14 +68184,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateSourceRequest.verify = function verify(message) { + CreateSourceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.source != null && message.hasOwnProperty("source")) { - var error = $root.google.cloud.securitycenter.v1beta1.Source.verify(message.source); + var error = $root.google.cloud.securitycenter.v1beta1.Source.verify(message.source, long + 1); if (error) return "source." + error; } @@ -65601,16 +68210,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.CreateSourceRequest} CreateSourceRequest */ - CreateSourceRequest.fromObject = function fromObject(object) { + CreateSourceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.CreateSourceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.CreateSourceRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.source != null) { if (typeof object.source !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.CreateSourceRequest.source: object expected"); - message.source = $root.google.cloud.securitycenter.v1beta1.Source.fromObject(object.source); + message.source = $root.google.cloud.securitycenter.v1beta1.Source.fromObject(object.source, long + 1); } return message; }; @@ -65688,7 +68301,7 @@ function GetOrganizationSettingsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -65753,9 +68366,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetOrganizationSettingsRequest.decode = function decode(reader, length, error) { + GetOrganizationSettingsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.GetOrganizationSettingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -65767,7 +68384,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -65798,9 +68415,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetOrganizationSettingsRequest.verify = function verify(message) { + GetOrganizationSettingsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -65815,9 +68436,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.GetOrganizationSettingsRequest} GetOrganizationSettingsRequest */ - GetOrganizationSettingsRequest.fromObject = function fromObject(object) { + GetOrganizationSettingsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.GetOrganizationSettingsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.GetOrganizationSettingsRequest(); if (object.name != null) message.name = String(object.name); @@ -65893,7 +68518,7 @@ function GetSourceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -65958,9 +68583,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetSourceRequest.decode = function decode(reader, length, error) { + GetSourceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.GetSourceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -65972,7 +68601,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -66003,9 +68632,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetSourceRequest.verify = function verify(message) { + GetSourceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -66020,9 +68653,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.GetSourceRequest} GetSourceRequest */ - GetSourceRequest.fromObject = function fromObject(object) { + GetSourceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.GetSourceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.GetSourceRequest(); if (object.name != null) message.name = String(object.name); @@ -66104,7 +68741,7 @@ function GroupAssetsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -66229,9 +68866,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupAssetsRequest.decode = function decode(reader, length, error) { + GroupAssetsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.GroupAssetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -66251,11 +68892,11 @@ break; } case 4: { - message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -66267,7 +68908,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -66298,9 +68939,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupAssetsRequest.verify = function verify(message) { + GroupAssetsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -66311,12 +68956,12 @@ if (!$util.isString(message.groupBy)) return "groupBy: string expected"; if (message.compareDuration != null && message.hasOwnProperty("compareDuration")) { - var error = $root.google.protobuf.Duration.verify(message.compareDuration); + var error = $root.google.protobuf.Duration.verify(message.compareDuration, long + 1); if (error) return "compareDuration." + error; } if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } @@ -66337,9 +68982,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.GroupAssetsRequest} GroupAssetsRequest */ - GroupAssetsRequest.fromObject = function fromObject(object) { + GroupAssetsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.GroupAssetsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.GroupAssetsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -66350,12 +68999,12 @@ if (object.compareDuration != null) { if (typeof object.compareDuration !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.GroupAssetsRequest.compareDuration: object expected"); - message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration); + message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration, long + 1); } if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.GroupAssetsRequest.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.pageToken != null) message.pageToken = String(object.pageToken); @@ -66455,7 +69104,7 @@ this.groupByResults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -66541,9 +69190,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupAssetsResponse.decode = function decode(reader, length, error) { + GroupAssetsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.GroupAssetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -66553,11 +69206,11 @@ case 1: { if (!(message.groupByResults && message.groupByResults.length)) message.groupByResults = []; - message.groupByResults.push($root.google.cloud.securitycenter.v1beta1.GroupResult.decode(reader, reader.uint32())); + message.groupByResults.push($root.google.cloud.securitycenter.v1beta1.GroupResult.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -66565,7 +69218,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -66596,20 +69249,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupAssetsResponse.verify = function verify(message) { + GroupAssetsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.groupByResults != null && message.hasOwnProperty("groupByResults")) { if (!Array.isArray(message.groupByResults)) return "groupByResults: array expected"; for (var i = 0; i < message.groupByResults.length; ++i) { - var error = $root.google.cloud.securitycenter.v1beta1.GroupResult.verify(message.groupByResults[i]); + var error = $root.google.cloud.securitycenter.v1beta1.GroupResult.verify(message.groupByResults[i], long + 1); if (error) return "groupByResults." + error; } } if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } @@ -66627,9 +69284,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.GroupAssetsResponse} GroupAssetsResponse */ - GroupAssetsResponse.fromObject = function fromObject(object) { + GroupAssetsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.GroupAssetsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.GroupAssetsResponse(); if (object.groupByResults) { if (!Array.isArray(object.groupByResults)) @@ -66638,13 +69299,13 @@ for (var i = 0; i < object.groupByResults.length; ++i) { if (typeof object.groupByResults[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.GroupAssetsResponse.groupByResults: object expected"); - message.groupByResults[i] = $root.google.cloud.securitycenter.v1beta1.GroupResult.fromObject(object.groupByResults[i]); + message.groupByResults[i] = $root.google.cloud.securitycenter.v1beta1.GroupResult.fromObject(object.groupByResults[i], long + 1); } } if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.GroupAssetsResponse.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.nextPageToken != null) message.nextPageToken = String(object.nextPageToken); @@ -66736,7 +69397,7 @@ function GroupFindingsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -66851,9 +69512,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupFindingsRequest.decode = function decode(reader, length, error) { + GroupFindingsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.GroupFindingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -66873,7 +69538,7 @@ break; } case 4: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -66885,7 +69550,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -66916,9 +69581,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupFindingsRequest.verify = function verify(message) { + GroupFindingsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -66929,7 +69598,7 @@ if (!$util.isString(message.groupBy)) return "groupBy: string expected"; if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } @@ -66950,9 +69619,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.GroupFindingsRequest} GroupFindingsRequest */ - GroupFindingsRequest.fromObject = function fromObject(object) { + GroupFindingsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.GroupFindingsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.GroupFindingsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -66963,7 +69636,7 @@ if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.GroupFindingsRequest.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.pageToken != null) message.pageToken = String(object.pageToken); @@ -67060,7 +69733,7 @@ this.groupByResults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -67146,9 +69819,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupFindingsResponse.decode = function decode(reader, length, error) { + GroupFindingsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.GroupFindingsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -67158,11 +69835,11 @@ case 1: { if (!(message.groupByResults && message.groupByResults.length)) message.groupByResults = []; - message.groupByResults.push($root.google.cloud.securitycenter.v1beta1.GroupResult.decode(reader, reader.uint32())); + message.groupByResults.push($root.google.cloud.securitycenter.v1beta1.GroupResult.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -67170,7 +69847,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -67201,20 +69878,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupFindingsResponse.verify = function verify(message) { + GroupFindingsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.groupByResults != null && message.hasOwnProperty("groupByResults")) { if (!Array.isArray(message.groupByResults)) return "groupByResults: array expected"; for (var i = 0; i < message.groupByResults.length; ++i) { - var error = $root.google.cloud.securitycenter.v1beta1.GroupResult.verify(message.groupByResults[i]); + var error = $root.google.cloud.securitycenter.v1beta1.GroupResult.verify(message.groupByResults[i], long + 1); if (error) return "groupByResults." + error; } } if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } @@ -67232,9 +69913,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.GroupFindingsResponse} GroupFindingsResponse */ - GroupFindingsResponse.fromObject = function fromObject(object) { + GroupFindingsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.GroupFindingsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.GroupFindingsResponse(); if (object.groupByResults) { if (!Array.isArray(object.groupByResults)) @@ -67243,13 +69928,13 @@ for (var i = 0; i < object.groupByResults.length; ++i) { if (typeof object.groupByResults[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.GroupFindingsResponse.groupByResults: object expected"); - message.groupByResults[i] = $root.google.cloud.securitycenter.v1beta1.GroupResult.fromObject(object.groupByResults[i]); + message.groupByResults[i] = $root.google.cloud.securitycenter.v1beta1.GroupResult.fromObject(object.groupByResults[i], long + 1); } } if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.GroupFindingsResponse.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.nextPageToken != null) message.nextPageToken = String(object.nextPageToken); @@ -67338,7 +70023,7 @@ this.properties = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -67416,9 +70101,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupResult.decode = function decode(reader, length, error) { + GroupResult.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.GroupResult(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -67438,13 +70127,15 @@ key = reader.string(); break; case 2: - value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.properties, key); message.properties[key] = value; break; } @@ -67453,7 +70144,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -67484,15 +70175,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupResult.verify = function verify(message) { + GroupResult.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.properties != null && message.hasOwnProperty("properties")) { if (!$util.isObject(message.properties)) return "properties: object expected"; var key = Object.keys(message.properties); for (var i = 0; i < key.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.properties[key[i]]); + var error = $root.google.protobuf.Value.verify(message.properties[key[i]], long + 1); if (error) return "properties." + error; } @@ -67511,18 +70206,24 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.GroupResult} GroupResult */ - GroupResult.fromObject = function fromObject(object) { + GroupResult.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.GroupResult) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.GroupResult(); if (object.properties) { if (typeof object.properties !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.GroupResult.properties: object expected"); message.properties = {}; for (var keys = Object.keys(object.properties), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.properties, keys[i]); if (typeof object.properties[keys[i]] !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.GroupResult.properties: object expected"); - message.properties[keys[i]] = $root.google.protobuf.Value.fromObject(object.properties[keys[i]]); + message.properties[keys[i]] = $root.google.protobuf.Value.fromObject(object.properties[keys[i]], long + 1); } } if (object.count != null) @@ -67561,8 +70262,11 @@ var keys2; if (message.properties && (keys2 = Object.keys(message.properties)).length) { object.properties = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.properties, keys2[j]); object.properties[keys2[j]] = $root.google.protobuf.Value.toObject(message.properties[keys2[j]], options); + } } if (message.count != null && message.hasOwnProperty("count")) if (typeof message.count === "number") @@ -67623,7 +70327,7 @@ function ListSourcesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -67708,9 +70412,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListSourcesRequest.decode = function decode(reader, length, error) { + ListSourcesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.ListSourcesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -67730,7 +70438,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -67761,9 +70469,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListSourcesRequest.verify = function verify(message) { + ListSourcesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -67784,9 +70496,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.ListSourcesRequest} ListSourcesRequest */ - ListSourcesRequest.fromObject = function fromObject(object) { + ListSourcesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.ListSourcesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.ListSourcesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -67875,7 +70591,7 @@ this.sources = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -67951,9 +70667,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListSourcesResponse.decode = function decode(reader, length, error) { + ListSourcesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.ListSourcesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -67963,7 +70683,7 @@ case 1: { if (!(message.sources && message.sources.length)) message.sources = []; - message.sources.push($root.google.cloud.securitycenter.v1beta1.Source.decode(reader, reader.uint32())); + message.sources.push($root.google.cloud.securitycenter.v1beta1.Source.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -67971,7 +70691,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -68002,14 +70722,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListSourcesResponse.verify = function verify(message) { + ListSourcesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.sources != null && message.hasOwnProperty("sources")) { if (!Array.isArray(message.sources)) return "sources: array expected"; for (var i = 0; i < message.sources.length; ++i) { - var error = $root.google.cloud.securitycenter.v1beta1.Source.verify(message.sources[i]); + var error = $root.google.cloud.securitycenter.v1beta1.Source.verify(message.sources[i], long + 1); if (error) return "sources." + error; } @@ -68028,9 +70752,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.ListSourcesResponse} ListSourcesResponse */ - ListSourcesResponse.fromObject = function fromObject(object) { + ListSourcesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.ListSourcesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.ListSourcesResponse(); if (object.sources) { if (!Array.isArray(object.sources)) @@ -68039,7 +70767,7 @@ for (var i = 0; i < object.sources.length; ++i) { if (typeof object.sources[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.ListSourcesResponse.sources: object expected"); - message.sources[i] = $root.google.cloud.securitycenter.v1beta1.Source.fromObject(object.sources[i]); + message.sources[i] = $root.google.cloud.securitycenter.v1beta1.Source.fromObject(object.sources[i], long + 1); } } if (object.nextPageToken != null) @@ -68130,7 +70858,7 @@ function ListAssetsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -68265,9 +70993,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAssetsRequest.decode = function decode(reader, length, error) { + ListAssetsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.ListAssetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -68287,15 +71019,15 @@ break; } case 4: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { @@ -68307,7 +71039,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -68338,9 +71070,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListAssetsRequest.verify = function verify(message) { + ListAssetsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -68351,17 +71087,17 @@ if (!$util.isString(message.orderBy)) return "orderBy: string expected"; if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } if (message.compareDuration != null && message.hasOwnProperty("compareDuration")) { - var error = $root.google.protobuf.Duration.verify(message.compareDuration); + var error = $root.google.protobuf.Duration.verify(message.compareDuration, long + 1); if (error) return "compareDuration." + error; } if (message.fieldMask != null && message.hasOwnProperty("fieldMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.fieldMask); + var error = $root.google.protobuf.FieldMask.verify(message.fieldMask, long + 1); if (error) return "fieldMask." + error; } @@ -68382,9 +71118,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.ListAssetsRequest} ListAssetsRequest */ - ListAssetsRequest.fromObject = function fromObject(object) { + ListAssetsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.ListAssetsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.ListAssetsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -68395,17 +71135,17 @@ if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.ListAssetsRequest.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.compareDuration != null) { if (typeof object.compareDuration !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.ListAssetsRequest.compareDuration: object expected"); - message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration); + message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration, long + 1); } if (object.fieldMask != null) { if (typeof object.fieldMask !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.ListAssetsRequest.fieldMask: object expected"); - message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask); + message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask, long + 1); } if (object.pageToken != null) message.pageToken = String(object.pageToken); @@ -68509,7 +71249,7 @@ this.listAssetsResults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -68605,9 +71345,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAssetsResponse.decode = function decode(reader, length, error) { + ListAssetsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.ListAssetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -68617,11 +71361,11 @@ case 1: { if (!(message.listAssetsResults && message.listAssetsResults.length)) message.listAssetsResults = []; - message.listAssetsResults.push($root.google.cloud.securitycenter.v1beta1.ListAssetsResponse.ListAssetsResult.decode(reader, reader.uint32())); + message.listAssetsResults.push($root.google.cloud.securitycenter.v1beta1.ListAssetsResponse.ListAssetsResult.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -68633,7 +71377,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -68664,20 +71408,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListAssetsResponse.verify = function verify(message) { + ListAssetsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.listAssetsResults != null && message.hasOwnProperty("listAssetsResults")) { if (!Array.isArray(message.listAssetsResults)) return "listAssetsResults: array expected"; for (var i = 0; i < message.listAssetsResults.length; ++i) { - var error = $root.google.cloud.securitycenter.v1beta1.ListAssetsResponse.ListAssetsResult.verify(message.listAssetsResults[i]); + var error = $root.google.cloud.securitycenter.v1beta1.ListAssetsResponse.ListAssetsResult.verify(message.listAssetsResults[i], long + 1); if (error) return "listAssetsResults." + error; } } if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } @@ -68698,9 +71446,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.ListAssetsResponse} ListAssetsResponse */ - ListAssetsResponse.fromObject = function fromObject(object) { + ListAssetsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.ListAssetsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.ListAssetsResponse(); if (object.listAssetsResults) { if (!Array.isArray(object.listAssetsResults)) @@ -68709,13 +71461,13 @@ for (var i = 0; i < object.listAssetsResults.length; ++i) { if (typeof object.listAssetsResults[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.ListAssetsResponse.listAssetsResults: object expected"); - message.listAssetsResults[i] = $root.google.cloud.securitycenter.v1beta1.ListAssetsResponse.ListAssetsResult.fromObject(object.listAssetsResults[i]); + message.listAssetsResults[i] = $root.google.cloud.securitycenter.v1beta1.ListAssetsResponse.ListAssetsResult.fromObject(object.listAssetsResults[i], long + 1); } } if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.ListAssetsResponse.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.nextPageToken != null) message.nextPageToken = String(object.nextPageToken); @@ -68805,7 +71557,7 @@ function ListAssetsResult(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -68880,9 +71632,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAssetsResult.decode = function decode(reader, length, error) { + ListAssetsResult.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.ListAssetsResponse.ListAssetsResult(); while (reader.pos < end) { var tag = reader.uint32(); @@ -68890,7 +71646,7 @@ break; switch (tag >>> 3) { case 1: { - message.asset = $root.google.cloud.securitycenter.v1beta1.Asset.decode(reader, reader.uint32()); + message.asset = $root.google.cloud.securitycenter.v1beta1.Asset.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -68898,7 +71654,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -68929,11 +71685,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListAssetsResult.verify = function verify(message) { + ListAssetsResult.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.asset != null && message.hasOwnProperty("asset")) { - var error = $root.google.cloud.securitycenter.v1beta1.Asset.verify(message.asset); + var error = $root.google.cloud.securitycenter.v1beta1.Asset.verify(message.asset, long + 1); if (error) return "asset." + error; } @@ -68959,14 +71719,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.ListAssetsResponse.ListAssetsResult} ListAssetsResult */ - ListAssetsResult.fromObject = function fromObject(object) { + ListAssetsResult.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.ListAssetsResponse.ListAssetsResult) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.ListAssetsResponse.ListAssetsResult(); if (object.asset != null) { if (typeof object.asset !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.ListAssetsResponse.ListAssetsResult.asset: object expected"); - message.asset = $root.google.cloud.securitycenter.v1beta1.Asset.fromObject(object.asset); + message.asset = $root.google.cloud.securitycenter.v1beta1.Asset.fromObject(object.asset, long + 1); } switch (object.state) { default: @@ -69101,7 +71865,7 @@ function ListFindingsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -69226,9 +71990,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListFindingsRequest.decode = function decode(reader, length, error) { + ListFindingsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.ListFindingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -69248,11 +72016,11 @@ break; } case 4: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { @@ -69264,7 +72032,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -69295,9 +72063,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListFindingsRequest.verify = function verify(message) { + ListFindingsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -69308,12 +72080,12 @@ if (!$util.isString(message.orderBy)) return "orderBy: string expected"; if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } if (message.fieldMask != null && message.hasOwnProperty("fieldMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.fieldMask); + var error = $root.google.protobuf.FieldMask.verify(message.fieldMask, long + 1); if (error) return "fieldMask." + error; } @@ -69334,9 +72106,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.ListFindingsRequest} ListFindingsRequest */ - ListFindingsRequest.fromObject = function fromObject(object) { + ListFindingsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.ListFindingsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.ListFindingsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -69347,12 +72123,12 @@ if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.ListFindingsRequest.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.fieldMask != null) { if (typeof object.fieldMask !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.ListFindingsRequest.fieldMask: object expected"); - message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask); + message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask, long + 1); } if (object.pageToken != null) message.pageToken = String(object.pageToken); @@ -69453,7 +72229,7 @@ this.findings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -69549,9 +72325,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListFindingsResponse.decode = function decode(reader, length, error) { + ListFindingsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.ListFindingsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -69561,11 +72341,11 @@ case 1: { if (!(message.findings && message.findings.length)) message.findings = []; - message.findings.push($root.google.cloud.securitycenter.v1beta1.Finding.decode(reader, reader.uint32())); + message.findings.push($root.google.cloud.securitycenter.v1beta1.Finding.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -69577,7 +72357,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -69608,20 +72388,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListFindingsResponse.verify = function verify(message) { + ListFindingsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.findings != null && message.hasOwnProperty("findings")) { if (!Array.isArray(message.findings)) return "findings: array expected"; for (var i = 0; i < message.findings.length; ++i) { - var error = $root.google.cloud.securitycenter.v1beta1.Finding.verify(message.findings[i]); + var error = $root.google.cloud.securitycenter.v1beta1.Finding.verify(message.findings[i], long + 1); if (error) return "findings." + error; } } if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } @@ -69642,9 +72426,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.ListFindingsResponse} ListFindingsResponse */ - ListFindingsResponse.fromObject = function fromObject(object) { + ListFindingsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.ListFindingsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.ListFindingsResponse(); if (object.findings) { if (!Array.isArray(object.findings)) @@ -69653,13 +72441,13 @@ for (var i = 0; i < object.findings.length; ++i) { if (typeof object.findings[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.ListFindingsResponse.findings: object expected"); - message.findings[i] = $root.google.cloud.securitycenter.v1beta1.Finding.fromObject(object.findings[i]); + message.findings[i] = $root.google.cloud.securitycenter.v1beta1.Finding.fromObject(object.findings[i], long + 1); } } if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.ListFindingsResponse.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.nextPageToken != null) message.nextPageToken = String(object.nextPageToken); @@ -69753,7 +72541,7 @@ function SetFindingStateRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -69838,9 +72626,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SetFindingStateRequest.decode = function decode(reader, length, error) { + SetFindingStateRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.SetFindingStateRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -69856,11 +72648,11 @@ break; } case 3: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -69891,9 +72683,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SetFindingStateRequest.verify = function verify(message) { + SetFindingStateRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -69907,7 +72703,7 @@ break; } if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } @@ -69922,9 +72718,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.SetFindingStateRequest} SetFindingStateRequest */ - SetFindingStateRequest.fromObject = function fromObject(object) { + SetFindingStateRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.SetFindingStateRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.SetFindingStateRequest(); if (object.name != null) message.name = String(object.name); @@ -69951,7 +72751,7 @@ if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.SetFindingStateRequest.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } return message; }; @@ -70032,7 +72832,7 @@ function RunAssetDiscoveryRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -70097,9 +72897,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RunAssetDiscoveryRequest.decode = function decode(reader, length, error) { + RunAssetDiscoveryRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.RunAssetDiscoveryRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -70111,7 +72915,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -70142,9 +72946,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RunAssetDiscoveryRequest.verify = function verify(message) { + RunAssetDiscoveryRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -70159,9 +72967,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.RunAssetDiscoveryRequest} RunAssetDiscoveryRequest */ - RunAssetDiscoveryRequest.fromObject = function fromObject(object) { + RunAssetDiscoveryRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.RunAssetDiscoveryRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.RunAssetDiscoveryRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -70238,7 +73050,7 @@ function UpdateFindingRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -70313,9 +73125,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateFindingRequest.decode = function decode(reader, length, error) { + UpdateFindingRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.UpdateFindingRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -70323,15 +73139,15 @@ break; switch (tag >>> 3) { case 1: { - message.finding = $root.google.cloud.securitycenter.v1beta1.Finding.decode(reader, reader.uint32()); + message.finding = $root.google.cloud.securitycenter.v1beta1.Finding.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -70362,16 +73178,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateFindingRequest.verify = function verify(message) { + UpdateFindingRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.finding != null && message.hasOwnProperty("finding")) { - var error = $root.google.cloud.securitycenter.v1beta1.Finding.verify(message.finding); + var error = $root.google.cloud.securitycenter.v1beta1.Finding.verify(message.finding, long + 1); if (error) return "finding." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -70386,19 +73206,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.UpdateFindingRequest} UpdateFindingRequest */ - UpdateFindingRequest.fromObject = function fromObject(object) { + UpdateFindingRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.UpdateFindingRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.UpdateFindingRequest(); if (object.finding != null) { if (typeof object.finding !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.UpdateFindingRequest.finding: object expected"); - message.finding = $root.google.cloud.securitycenter.v1beta1.Finding.fromObject(object.finding); + message.finding = $root.google.cloud.securitycenter.v1beta1.Finding.fromObject(object.finding, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.UpdateFindingRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -70477,7 +73301,7 @@ function UpdateOrganizationSettingsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -70552,9 +73376,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateOrganizationSettingsRequest.decode = function decode(reader, length, error) { + UpdateOrganizationSettingsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.UpdateOrganizationSettingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -70562,15 +73390,15 @@ break; switch (tag >>> 3) { case 1: { - message.organizationSettings = $root.google.cloud.securitycenter.v1beta1.OrganizationSettings.decode(reader, reader.uint32()); + message.organizationSettings = $root.google.cloud.securitycenter.v1beta1.OrganizationSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -70601,16 +73429,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateOrganizationSettingsRequest.verify = function verify(message) { + UpdateOrganizationSettingsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.organizationSettings != null && message.hasOwnProperty("organizationSettings")) { - var error = $root.google.cloud.securitycenter.v1beta1.OrganizationSettings.verify(message.organizationSettings); + var error = $root.google.cloud.securitycenter.v1beta1.OrganizationSettings.verify(message.organizationSettings, long + 1); if (error) return "organizationSettings." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -70625,19 +73457,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.UpdateOrganizationSettingsRequest} UpdateOrganizationSettingsRequest */ - UpdateOrganizationSettingsRequest.fromObject = function fromObject(object) { + UpdateOrganizationSettingsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.UpdateOrganizationSettingsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.UpdateOrganizationSettingsRequest(); if (object.organizationSettings != null) { if (typeof object.organizationSettings !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.UpdateOrganizationSettingsRequest.organizationSettings: object expected"); - message.organizationSettings = $root.google.cloud.securitycenter.v1beta1.OrganizationSettings.fromObject(object.organizationSettings); + message.organizationSettings = $root.google.cloud.securitycenter.v1beta1.OrganizationSettings.fromObject(object.organizationSettings, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.UpdateOrganizationSettingsRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -70716,7 +73552,7 @@ function UpdateSourceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -70791,9 +73627,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateSourceRequest.decode = function decode(reader, length, error) { + UpdateSourceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.UpdateSourceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -70801,15 +73641,15 @@ break; switch (tag >>> 3) { case 1: { - message.source = $root.google.cloud.securitycenter.v1beta1.Source.decode(reader, reader.uint32()); + message.source = $root.google.cloud.securitycenter.v1beta1.Source.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -70840,16 +73680,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateSourceRequest.verify = function verify(message) { + UpdateSourceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.source != null && message.hasOwnProperty("source")) { - var error = $root.google.cloud.securitycenter.v1beta1.Source.verify(message.source); + var error = $root.google.cloud.securitycenter.v1beta1.Source.verify(message.source, long + 1); if (error) return "source." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -70864,19 +73708,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.UpdateSourceRequest} UpdateSourceRequest */ - UpdateSourceRequest.fromObject = function fromObject(object) { + UpdateSourceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.UpdateSourceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.UpdateSourceRequest(); if (object.source != null) { if (typeof object.source !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.UpdateSourceRequest.source: object expected"); - message.source = $root.google.cloud.securitycenter.v1beta1.Source.fromObject(object.source); + message.source = $root.google.cloud.securitycenter.v1beta1.Source.fromObject(object.source, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.UpdateSourceRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -70956,7 +73804,7 @@ function UpdateSecurityMarksRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -71041,9 +73889,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateSecurityMarksRequest.decode = function decode(reader, length, error) { + UpdateSecurityMarksRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.UpdateSecurityMarksRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -71051,19 +73903,19 @@ break; switch (tag >>> 3) { case 1: { - message.securityMarks = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.decode(reader, reader.uint32()); + message.securityMarks = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -71094,21 +73946,25 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateSecurityMarksRequest.verify = function verify(message) { + UpdateSecurityMarksRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) { - var error = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.verify(message.securityMarks); + var error = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.verify(message.securityMarks, long + 1); if (error) return "securityMarks." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } @@ -71123,24 +73979,28 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.UpdateSecurityMarksRequest} UpdateSecurityMarksRequest */ - UpdateSecurityMarksRequest.fromObject = function fromObject(object) { + UpdateSecurityMarksRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.UpdateSecurityMarksRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.UpdateSecurityMarksRequest(); if (object.securityMarks != null) { if (typeof object.securityMarks !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.UpdateSecurityMarksRequest.securityMarks: object expected"); - message.securityMarks = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.fromObject(object.securityMarks); + message.securityMarks = $root.google.cloud.securitycenter.v1beta1.SecurityMarks.fromObject(object.securityMarks, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.UpdateSecurityMarksRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.cloud.securitycenter.v1beta1.UpdateSecurityMarksRequest.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } return message; }; @@ -71223,7 +74083,7 @@ function Source(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -71308,9 +74168,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Source.decode = function decode(reader, length, error) { + Source.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1beta1.Source(); while (reader.pos < end) { var tag = reader.uint32(); @@ -71330,7 +74194,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -71361,9 +74225,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Source.verify = function verify(message) { + Source.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -71384,9 +74252,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1beta1.Source} Source */ - Source.fromObject = function fromObject(object) { + Source.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1beta1.Source) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1beta1.Source(); if (object.name != null) message.name = String(object.name); @@ -71493,7 +74365,7 @@ this.resourceProperties = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -71631,9 +74503,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Asset.decode = function decode(reader, length, error) { + Asset.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.Asset(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -71645,7 +74521,7 @@ break; } case 2: { - message.securityCenterProperties = $root.google.cloud.securitycenter.v1p1beta1.Asset.SecurityCenterProperties.decode(reader, reader.uint32()); + message.securityCenterProperties = $root.google.cloud.securitycenter.v1p1beta1.Asset.SecurityCenterProperties.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -71661,30 +74537,32 @@ key = reader.string(); break; case 2: - value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.resourceProperties, key); message.resourceProperties[key] = value; break; } case 8: { - message.securityMarks = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.decode(reader, reader.uint32()); + message.securityMarks = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 11: { - message.iamPolicy = $root.google.cloud.securitycenter.v1p1beta1.Asset.IamPolicy.decode(reader, reader.uint32()); + message.iamPolicy = $root.google.cloud.securitycenter.v1p1beta1.Asset.IamPolicy.decode(reader, reader.uint32(), undefined, long + 1); break; } case 13: { @@ -71692,7 +74570,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -71723,14 +74601,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Asset.verify = function verify(message) { + Asset.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.securityCenterProperties != null && message.hasOwnProperty("securityCenterProperties")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.Asset.SecurityCenterProperties.verify(message.securityCenterProperties); + var error = $root.google.cloud.securitycenter.v1p1beta1.Asset.SecurityCenterProperties.verify(message.securityCenterProperties, long + 1); if (error) return "securityCenterProperties." + error; } @@ -71739,28 +74621,28 @@ return "resourceProperties: object expected"; var key = Object.keys(message.resourceProperties); for (var i = 0; i < key.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.resourceProperties[key[i]]); + var error = $root.google.protobuf.Value.verify(message.resourceProperties[key[i]], long + 1); if (error) return "resourceProperties." + error; } } if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.verify(message.securityMarks); + var error = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.verify(message.securityMarks, long + 1); if (error) return "securityMarks." + error; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } if (message.iamPolicy != null && message.hasOwnProperty("iamPolicy")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.Asset.IamPolicy.verify(message.iamPolicy); + var error = $root.google.cloud.securitycenter.v1p1beta1.Asset.IamPolicy.verify(message.iamPolicy, long + 1); if (error) return "iamPolicy." + error; } @@ -71778,46 +74660,52 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.Asset} Asset */ - Asset.fromObject = function fromObject(object) { + Asset.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.Asset) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.Asset(); if (object.name != null) message.name = String(object.name); if (object.securityCenterProperties != null) { if (typeof object.securityCenterProperties !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.Asset.securityCenterProperties: object expected"); - message.securityCenterProperties = $root.google.cloud.securitycenter.v1p1beta1.Asset.SecurityCenterProperties.fromObject(object.securityCenterProperties); + message.securityCenterProperties = $root.google.cloud.securitycenter.v1p1beta1.Asset.SecurityCenterProperties.fromObject(object.securityCenterProperties, long + 1); } if (object.resourceProperties) { if (typeof object.resourceProperties !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.Asset.resourceProperties: object expected"); message.resourceProperties = {}; for (var keys = Object.keys(object.resourceProperties), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.resourceProperties, keys[i]); if (typeof object.resourceProperties[keys[i]] !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.Asset.resourceProperties: object expected"); - message.resourceProperties[keys[i]] = $root.google.protobuf.Value.fromObject(object.resourceProperties[keys[i]]); + message.resourceProperties[keys[i]] = $root.google.protobuf.Value.fromObject(object.resourceProperties[keys[i]], long + 1); } } if (object.securityMarks != null) { if (typeof object.securityMarks !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.Asset.securityMarks: object expected"); - message.securityMarks = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.fromObject(object.securityMarks); + message.securityMarks = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.fromObject(object.securityMarks, long + 1); } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.Asset.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.Asset.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.iamPolicy != null) { if (typeof object.iamPolicy !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.Asset.iamPolicy: object expected"); - message.iamPolicy = $root.google.cloud.securitycenter.v1p1beta1.Asset.IamPolicy.fromObject(object.iamPolicy); + message.iamPolicy = $root.google.cloud.securitycenter.v1p1beta1.Asset.IamPolicy.fromObject(object.iamPolicy, long + 1); } if (object.canonicalName != null) message.canonicalName = String(object.canonicalName); @@ -71855,8 +74743,11 @@ var keys2; if (message.resourceProperties && (keys2 = Object.keys(message.resourceProperties)).length) { object.resourceProperties = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.resourceProperties, keys2[j]); object.resourceProperties[keys2[j]] = $root.google.protobuf.Value.toObject(message.resourceProperties[keys2[j]], options); + } } if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) object.securityMarks = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.toObject(message.securityMarks, options); @@ -71927,7 +74818,7 @@ this.folders = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -72074,9 +74965,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityCenterProperties.decode = function decode(reader, length, error) { + SecurityCenterProperties.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.Asset.SecurityCenterProperties(); while (reader.pos < end) { var tag = reader.uint32(); @@ -72120,11 +75015,11 @@ case 10: { if (!(message.folders && message.folders.length)) message.folders = []; - message.folders.push($root.google.cloud.securitycenter.v1p1beta1.Folder.decode(reader, reader.uint32())); + message.folders.push($root.google.cloud.securitycenter.v1p1beta1.Folder.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -72155,9 +75050,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityCenterProperties.verify = function verify(message) { + SecurityCenterProperties.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceName != null && message.hasOwnProperty("resourceName")) if (!$util.isString(message.resourceName)) return "resourceName: string expected"; @@ -72190,7 +75089,7 @@ if (!Array.isArray(message.folders)) return "folders: array expected"; for (var i = 0; i < message.folders.length; ++i) { - var error = $root.google.cloud.securitycenter.v1p1beta1.Folder.verify(message.folders[i]); + var error = $root.google.cloud.securitycenter.v1p1beta1.Folder.verify(message.folders[i], long + 1); if (error) return "folders." + error; } @@ -72206,9 +75105,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.Asset.SecurityCenterProperties} SecurityCenterProperties */ - SecurityCenterProperties.fromObject = function fromObject(object) { + SecurityCenterProperties.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.Asset.SecurityCenterProperties) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.Asset.SecurityCenterProperties(); if (object.resourceName != null) message.resourceName = String(object.resourceName); @@ -72238,7 +75141,7 @@ for (var i = 0; i < object.folders.length; ++i) { if (typeof object.folders[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.Asset.SecurityCenterProperties.folders: object expected"); - message.folders[i] = $root.google.cloud.securitycenter.v1p1beta1.Folder.fromObject(object.folders[i]); + message.folders[i] = $root.google.cloud.securitycenter.v1p1beta1.Folder.fromObject(object.folders[i], long + 1); } } return message; @@ -72346,7 +75249,7 @@ function IamPolicy(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -72411,9 +75314,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IamPolicy.decode = function decode(reader, length, error) { + IamPolicy.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.Asset.IamPolicy(); while (reader.pos < end) { var tag = reader.uint32(); @@ -72425,7 +75332,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -72456,9 +75363,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - IamPolicy.verify = function verify(message) { + IamPolicy.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.policyBlob != null && message.hasOwnProperty("policyBlob")) if (!$util.isString(message.policyBlob)) return "policyBlob: string expected"; @@ -72473,9 +75384,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.Asset.IamPolicy} IamPolicy */ - IamPolicy.fromObject = function fromObject(object) { + IamPolicy.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.Asset.IamPolicy) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.Asset.IamPolicy(); if (object.policyBlob != null) message.policyBlob = String(object.policyBlob); @@ -72555,7 +75470,7 @@ function Folder(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -72630,9 +75545,13 @@ * @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, error) { + Folder.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.Folder(); while (reader.pos < end) { var tag = reader.uint32(); @@ -72648,7 +75567,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -72679,9 +75598,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Folder.verify = function verify(message) { + Folder.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceFolder != null && message.hasOwnProperty("resourceFolder")) if (!$util.isString(message.resourceFolder)) return "resourceFolder: string expected"; @@ -72699,9 +75622,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.Folder} Folder */ - Folder.fromObject = function fromObject(object) { + Folder.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.Folder) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.Folder(); if (object.resourceFolder != null) message.resourceFolder = String(object.resourceFolder); @@ -72786,7 +75713,7 @@ this.marks = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -72872,9 +75799,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityMarks.decode = function decode(reader, length, error) { + SecurityMarks.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -72901,10 +75832,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.marks, key); message.marks[key] = value; break; } @@ -72913,7 +75846,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -72944,9 +75877,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityMarks.verify = function verify(message) { + SecurityMarks.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -72972,9 +75909,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.SecurityMarks} SecurityMarks */ - SecurityMarks.fromObject = function fromObject(object) { + SecurityMarks.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks(); if (object.name != null) message.name = String(object.name); @@ -72982,8 +75923,11 @@ if (typeof object.marks !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.SecurityMarks.marks: object expected"); message.marks = {}; - for (var keys = Object.keys(object.marks), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.marks), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.marks, keys[i]); message.marks[keys[i]] = String(object.marks[keys[i]]); + } } if (object.canonicalName != null) message.canonicalName = String(object.canonicalName); @@ -73014,8 +75958,11 @@ var keys2; if (message.marks && (keys2 = Object.keys(message.marks)).length) { object.marks = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.marks, keys2[j]); object.marks[keys2[j]] = message.marks[keys2[j]]; + } } if (message.canonicalName != null && message.hasOwnProperty("canonicalName")) object.canonicalName = message.canonicalName; @@ -73083,7 +76030,7 @@ this.sourceProperties = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -73261,9 +76208,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Finding.decode = function decode(reader, length, error) { + Finding.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.Finding(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -73307,26 +76258,28 @@ key = reader.string(); break; case 2: - value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.sourceProperties, key); message.sourceProperties[key] = value; break; } case 8: { - message.securityMarks = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.decode(reader, reader.uint32()); + message.securityMarks = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.eventTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.eventTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 13: { @@ -73338,7 +76291,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -73369,9 +76322,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Finding.verify = function verify(message) { + Finding.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -73401,23 +76358,23 @@ return "sourceProperties: object expected"; var key = Object.keys(message.sourceProperties); for (var i = 0; i < key.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.sourceProperties[key[i]]); + var error = $root.google.protobuf.Value.verify(message.sourceProperties[key[i]], long + 1); if (error) return "sourceProperties." + error; } } if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.verify(message.securityMarks); + var error = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.verify(message.securityMarks, long + 1); if (error) return "securityMarks." + error; } if (message.eventTime != null && message.hasOwnProperty("eventTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.eventTime); + var error = $root.google.protobuf.Timestamp.verify(message.eventTime, long + 1); if (error) return "eventTime." + error; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } @@ -73446,9 +76403,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.Finding} Finding */ - Finding.fromObject = function fromObject(object) { + Finding.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.Finding) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.Finding(); if (object.name != null) message.name = String(object.name); @@ -73485,25 +76446,27 @@ throw TypeError(".google.cloud.securitycenter.v1p1beta1.Finding.sourceProperties: object expected"); message.sourceProperties = {}; for (var keys = Object.keys(object.sourceProperties), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.sourceProperties, keys[i]); if (typeof object.sourceProperties[keys[i]] !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.Finding.sourceProperties: object expected"); - message.sourceProperties[keys[i]] = $root.google.protobuf.Value.fromObject(object.sourceProperties[keys[i]]); + message.sourceProperties[keys[i]] = $root.google.protobuf.Value.fromObject(object.sourceProperties[keys[i]], long + 1); } } if (object.securityMarks != null) { if (typeof object.securityMarks !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.Finding.securityMarks: object expected"); - message.securityMarks = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.fromObject(object.securityMarks); + message.securityMarks = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.fromObject(object.securityMarks, long + 1); } if (object.eventTime != null) { if (typeof object.eventTime !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.Finding.eventTime: object expected"); - message.eventTime = $root.google.protobuf.Timestamp.fromObject(object.eventTime); + message.eventTime = $root.google.protobuf.Timestamp.fromObject(object.eventTime, long + 1); } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.Finding.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } switch (object.severity) { default: @@ -73581,8 +76544,11 @@ var keys2; if (message.sourceProperties && (keys2 = Object.keys(message.sourceProperties)).length) { object.sourceProperties = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.sourceProperties, keys2[j]); object.sourceProperties[keys2[j]] = $root.google.protobuf.Value.toObject(message.sourceProperties[keys2[j]], options); + } } if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) object.securityMarks = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.toObject(message.securityMarks, options); @@ -73687,7 +76653,7 @@ function NotificationConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -73816,9 +76782,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NotificationConfig.decode = function decode(reader, length, error) { + NotificationConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -73846,11 +76816,11 @@ break; } case 6: { - message.streamingConfig = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.StreamingConfig.decode(reader, reader.uint32()); + message.streamingConfig = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.StreamingConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -73881,9 +76851,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NotificationConfig.verify = function verify(message) { + NotificationConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) @@ -73908,7 +76882,7 @@ if (message.streamingConfig != null && message.hasOwnProperty("streamingConfig")) { properties.notifyConfig = 1; { - var error = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.StreamingConfig.verify(message.streamingConfig); + var error = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.StreamingConfig.verify(message.streamingConfig, long + 1); if (error) return "streamingConfig." + error; } @@ -73924,9 +76898,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.NotificationConfig} NotificationConfig */ - NotificationConfig.fromObject = function fromObject(object) { + NotificationConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig(); if (object.name != null) message.name = String(object.name); @@ -73955,7 +76933,7 @@ if (object.streamingConfig != null) { if (typeof object.streamingConfig !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.NotificationConfig.streamingConfig: object expected"); - message.streamingConfig = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.StreamingConfig.fromObject(object.streamingConfig); + message.streamingConfig = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.StreamingConfig.fromObject(object.streamingConfig, long + 1); } return message; }; @@ -74044,7 +77022,7 @@ function StreamingConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -74109,9 +77087,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingConfig.decode = function decode(reader, length, error) { + StreamingConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.StreamingConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -74123,7 +77105,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -74154,9 +77136,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StreamingConfig.verify = function verify(message) { + StreamingConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.filter != null && message.hasOwnProperty("filter")) if (!$util.isString(message.filter)) return "filter: string expected"; @@ -74171,9 +77157,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.NotificationConfig.StreamingConfig} StreamingConfig */ - StreamingConfig.fromObject = function fromObject(object) { + StreamingConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.StreamingConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.StreamingConfig(); if (object.filter != null) message.filter = String(object.filter); @@ -74268,7 +77258,7 @@ function NotificationMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -74367,9 +77357,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NotificationMessage.decode = function decode(reader, length, error) { + NotificationMessage.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.NotificationMessage(); while (reader.pos < end) { var tag = reader.uint32(); @@ -74381,15 +77375,15 @@ break; } case 2: { - message.finding = $root.google.cloud.securitycenter.v1p1beta1.Finding.decode(reader, reader.uint32()); + message.finding = $root.google.cloud.securitycenter.v1p1beta1.Finding.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.resource = $root.google.cloud.securitycenter.v1p1beta1.Resource.decode(reader, reader.uint32()); + message.resource = $root.google.cloud.securitycenter.v1p1beta1.Resource.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -74420,9 +77414,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NotificationMessage.verify = function verify(message) { + NotificationMessage.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.notificationConfigName != null && message.hasOwnProperty("notificationConfigName")) if (!$util.isString(message.notificationConfigName)) @@ -74430,13 +77428,13 @@ if (message.finding != null && message.hasOwnProperty("finding")) { properties.event = 1; { - var error = $root.google.cloud.securitycenter.v1p1beta1.Finding.verify(message.finding); + var error = $root.google.cloud.securitycenter.v1p1beta1.Finding.verify(message.finding, long + 1); if (error) return "finding." + error; } } if (message.resource != null && message.hasOwnProperty("resource")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.Resource.verify(message.resource); + var error = $root.google.cloud.securitycenter.v1p1beta1.Resource.verify(message.resource, long + 1); if (error) return "resource." + error; } @@ -74451,21 +77449,25 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.NotificationMessage} NotificationMessage */ - NotificationMessage.fromObject = function fromObject(object) { + NotificationMessage.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.NotificationMessage) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.NotificationMessage(); if (object.notificationConfigName != null) message.notificationConfigName = String(object.notificationConfigName); if (object.finding != null) { if (typeof object.finding !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.NotificationMessage.finding: object expected"); - message.finding = $root.google.cloud.securitycenter.v1p1beta1.Finding.fromObject(object.finding); + message.finding = $root.google.cloud.securitycenter.v1p1beta1.Finding.fromObject(object.finding, long + 1); } if (object.resource != null) { if (typeof object.resource !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.NotificationMessage.resource: object expected"); - message.resource = $root.google.cloud.securitycenter.v1p1beta1.Resource.fromObject(object.resource); + message.resource = $root.google.cloud.securitycenter.v1p1beta1.Resource.fromObject(object.resource, long + 1); } return message; }; @@ -74554,7 +77556,7 @@ this.folders = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -74670,9 +77672,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Resource.decode = function decode(reader, length, error) { + Resource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.Resource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -74702,11 +77708,11 @@ case 7: { if (!(message.folders && message.folders.length)) message.folders = []; - message.folders.push($root.google.cloud.securitycenter.v1p1beta1.Folder.decode(reader, reader.uint32())); + message.folders.push($root.google.cloud.securitycenter.v1p1beta1.Folder.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -74737,9 +77743,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Resource.verify = function verify(message) { + Resource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -74759,7 +77769,7 @@ if (!Array.isArray(message.folders)) return "folders: array expected"; for (var i = 0; i < message.folders.length; ++i) { - var error = $root.google.cloud.securitycenter.v1p1beta1.Folder.verify(message.folders[i]); + var error = $root.google.cloud.securitycenter.v1p1beta1.Folder.verify(message.folders[i], long + 1); if (error) return "folders." + error; } @@ -74775,9 +77785,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.Resource} Resource */ - Resource.fromObject = function fromObject(object) { + Resource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.Resource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.Resource(); if (object.name != null) message.name = String(object.name); @@ -74796,7 +77810,7 @@ for (var i = 0; i < object.folders.length; ++i) { if (typeof object.folders[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.Resource.folders: object expected"); - message.folders[i] = $root.google.cloud.securitycenter.v1p1beta1.Folder.fromObject(object.folders[i]); + message.folders[i] = $root.google.cloud.securitycenter.v1p1beta1.Folder.fromObject(object.folders[i], long + 1); } } return message; @@ -74893,7 +77907,7 @@ function OrganizationSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -74978,9 +77992,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OrganizationSettings.decode = function decode(reader, length, error) { + OrganizationSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -74996,11 +78014,11 @@ break; } case 3: { - message.assetDiscoveryConfig = $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings.AssetDiscoveryConfig.decode(reader, reader.uint32()); + message.assetDiscoveryConfig = $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings.AssetDiscoveryConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -75031,9 +78049,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OrganizationSettings.verify = function verify(message) { + OrganizationSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -75041,7 +78063,7 @@ if (typeof message.enableAssetDiscovery !== "boolean") return "enableAssetDiscovery: boolean expected"; if (message.assetDiscoveryConfig != null && message.hasOwnProperty("assetDiscoveryConfig")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings.AssetDiscoveryConfig.verify(message.assetDiscoveryConfig); + var error = $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings.AssetDiscoveryConfig.verify(message.assetDiscoveryConfig, long + 1); if (error) return "assetDiscoveryConfig." + error; } @@ -75056,9 +78078,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.OrganizationSettings} OrganizationSettings */ - OrganizationSettings.fromObject = function fromObject(object) { + OrganizationSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings(); if (object.name != null) message.name = String(object.name); @@ -75067,7 +78093,7 @@ if (object.assetDiscoveryConfig != null) { if (typeof object.assetDiscoveryConfig !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.OrganizationSettings.assetDiscoveryConfig: object expected"); - message.assetDiscoveryConfig = $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings.AssetDiscoveryConfig.fromObject(object.assetDiscoveryConfig); + message.assetDiscoveryConfig = $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings.AssetDiscoveryConfig.fromObject(object.assetDiscoveryConfig, long + 1); } return message; }; @@ -75149,7 +78175,7 @@ this.folderIds = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -75236,9 +78262,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetDiscoveryConfig.decode = function decode(reader, length, error) { + AssetDiscoveryConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings.AssetDiscoveryConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -75262,7 +78292,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -75293,9 +78323,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AssetDiscoveryConfig.verify = function verify(message) { + AssetDiscoveryConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.projectIds != null && message.hasOwnProperty("projectIds")) { if (!Array.isArray(message.projectIds)) return "projectIds: array expected"; @@ -75330,9 +78364,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.OrganizationSettings.AssetDiscoveryConfig} AssetDiscoveryConfig */ - AssetDiscoveryConfig.fromObject = function fromObject(object) { + AssetDiscoveryConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings.AssetDiscoveryConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings.AssetDiscoveryConfig(); if (object.projectIds) { if (!Array.isArray(object.projectIds)) @@ -75474,7 +78512,7 @@ function RunAssetDiscoveryResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -75549,9 +78587,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RunAssetDiscoveryResponse.decode = function decode(reader, length, error) { + RunAssetDiscoveryResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.RunAssetDiscoveryResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -75563,11 +78605,11 @@ break; } case 2: { - message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -75598,9 +78640,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RunAssetDiscoveryResponse.verify = function verify(message) { + RunAssetDiscoveryResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.state != null && message.hasOwnProperty("state")) switch (message.state) { default: @@ -75612,7 +78658,7 @@ break; } if (message.duration != null && message.hasOwnProperty("duration")) { - var error = $root.google.protobuf.Duration.verify(message.duration); + var error = $root.google.protobuf.Duration.verify(message.duration, long + 1); if (error) return "duration." + error; } @@ -75627,9 +78673,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.RunAssetDiscoveryResponse} RunAssetDiscoveryResponse */ - RunAssetDiscoveryResponse.fromObject = function fromObject(object) { + RunAssetDiscoveryResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.RunAssetDiscoveryResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.RunAssetDiscoveryResponse(); switch (object.state) { default: @@ -75658,7 +78708,7 @@ if (object.duration != null) { if (typeof object.duration !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.RunAssetDiscoveryResponse.duration: object expected"); - message.duration = $root.google.protobuf.Duration.fromObject(object.duration); + message.duration = $root.google.protobuf.Duration.fromObject(object.duration, long + 1); } return message; }; @@ -76550,7 +79600,7 @@ function CreateFindingRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -76635,9 +79685,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateFindingRequest.decode = function decode(reader, length, error) { + CreateFindingRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.CreateFindingRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -76653,11 +79707,11 @@ break; } case 3: { - message.finding = $root.google.cloud.securitycenter.v1p1beta1.Finding.decode(reader, reader.uint32()); + message.finding = $root.google.cloud.securitycenter.v1p1beta1.Finding.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -76688,9 +79742,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateFindingRequest.verify = function verify(message) { + CreateFindingRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -76698,7 +79756,7 @@ if (!$util.isString(message.findingId)) return "findingId: string expected"; if (message.finding != null && message.hasOwnProperty("finding")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.Finding.verify(message.finding); + var error = $root.google.cloud.securitycenter.v1p1beta1.Finding.verify(message.finding, long + 1); if (error) return "finding." + error; } @@ -76713,9 +79771,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.CreateFindingRequest} CreateFindingRequest */ - CreateFindingRequest.fromObject = function fromObject(object) { + CreateFindingRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.CreateFindingRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.CreateFindingRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -76724,7 +79786,7 @@ if (object.finding != null) { if (typeof object.finding !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.CreateFindingRequest.finding: object expected"); - message.finding = $root.google.cloud.securitycenter.v1p1beta1.Finding.fromObject(object.finding); + message.finding = $root.google.cloud.securitycenter.v1p1beta1.Finding.fromObject(object.finding, long + 1); } return message; }; @@ -76807,7 +79869,7 @@ function CreateNotificationConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -76892,9 +79954,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateNotificationConfigRequest.decode = function decode(reader, length, error) { + CreateNotificationConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.CreateNotificationConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -76910,11 +79976,11 @@ break; } case 3: { - message.notificationConfig = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.decode(reader, reader.uint32()); + message.notificationConfig = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -76945,9 +80011,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateNotificationConfigRequest.verify = function verify(message) { + CreateNotificationConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -76955,7 +80025,7 @@ if (!$util.isString(message.configId)) return "configId: string expected"; if (message.notificationConfig != null && message.hasOwnProperty("notificationConfig")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.verify(message.notificationConfig); + var error = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.verify(message.notificationConfig, long + 1); if (error) return "notificationConfig." + error; } @@ -76970,9 +80040,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.CreateNotificationConfigRequest} CreateNotificationConfigRequest */ - CreateNotificationConfigRequest.fromObject = function fromObject(object) { + CreateNotificationConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.CreateNotificationConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.CreateNotificationConfigRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -76981,7 +80055,7 @@ if (object.notificationConfig != null) { if (typeof object.notificationConfig !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.CreateNotificationConfigRequest.notificationConfig: object expected"); - message.notificationConfig = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.fromObject(object.notificationConfig); + message.notificationConfig = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.fromObject(object.notificationConfig, long + 1); } return message; }; @@ -77063,7 +80137,7 @@ function CreateSourceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -77138,9 +80212,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateSourceRequest.decode = function decode(reader, length, error) { + CreateSourceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.CreateSourceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -77152,11 +80230,11 @@ break; } case 2: { - message.source = $root.google.cloud.securitycenter.v1p1beta1.Source.decode(reader, reader.uint32()); + message.source = $root.google.cloud.securitycenter.v1p1beta1.Source.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -77187,14 +80265,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateSourceRequest.verify = function verify(message) { + CreateSourceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.source != null && message.hasOwnProperty("source")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.Source.verify(message.source); + var error = $root.google.cloud.securitycenter.v1p1beta1.Source.verify(message.source, long + 1); if (error) return "source." + error; } @@ -77209,16 +80291,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.CreateSourceRequest} CreateSourceRequest */ - CreateSourceRequest.fromObject = function fromObject(object) { + CreateSourceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.CreateSourceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.CreateSourceRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.source != null) { if (typeof object.source !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.CreateSourceRequest.source: object expected"); - message.source = $root.google.cloud.securitycenter.v1p1beta1.Source.fromObject(object.source); + message.source = $root.google.cloud.securitycenter.v1p1beta1.Source.fromObject(object.source, long + 1); } return message; }; @@ -77296,7 +80382,7 @@ function DeleteNotificationConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -77361,9 +80447,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteNotificationConfigRequest.decode = function decode(reader, length, error) { + DeleteNotificationConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.DeleteNotificationConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -77375,7 +80465,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -77406,9 +80496,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteNotificationConfigRequest.verify = function verify(message) { + DeleteNotificationConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -77423,9 +80517,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.DeleteNotificationConfigRequest} DeleteNotificationConfigRequest */ - DeleteNotificationConfigRequest.fromObject = function fromObject(object) { + DeleteNotificationConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.DeleteNotificationConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.DeleteNotificationConfigRequest(); if (object.name != null) message.name = String(object.name); @@ -77501,7 +80599,7 @@ function GetNotificationConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -77566,9 +80664,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetNotificationConfigRequest.decode = function decode(reader, length, error) { + GetNotificationConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.GetNotificationConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -77580,7 +80682,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -77611,9 +80713,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetNotificationConfigRequest.verify = function verify(message) { + GetNotificationConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -77628,9 +80734,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.GetNotificationConfigRequest} GetNotificationConfigRequest */ - GetNotificationConfigRequest.fromObject = function fromObject(object) { + GetNotificationConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.GetNotificationConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.GetNotificationConfigRequest(); if (object.name != null) message.name = String(object.name); @@ -77706,7 +80816,7 @@ function GetOrganizationSettingsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -77771,9 +80881,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetOrganizationSettingsRequest.decode = function decode(reader, length, error) { + GetOrganizationSettingsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.GetOrganizationSettingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -77785,7 +80899,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -77816,9 +80930,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetOrganizationSettingsRequest.verify = function verify(message) { + GetOrganizationSettingsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -77833,9 +80951,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.GetOrganizationSettingsRequest} GetOrganizationSettingsRequest */ - GetOrganizationSettingsRequest.fromObject = function fromObject(object) { + GetOrganizationSettingsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.GetOrganizationSettingsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.GetOrganizationSettingsRequest(); if (object.name != null) message.name = String(object.name); @@ -77911,7 +81033,7 @@ function GetSourceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -77976,9 +81098,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetSourceRequest.decode = function decode(reader, length, error) { + GetSourceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.GetSourceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -77990,7 +81116,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -78021,9 +81147,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetSourceRequest.verify = function verify(message) { + GetSourceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -78038,9 +81168,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.GetSourceRequest} GetSourceRequest */ - GetSourceRequest.fromObject = function fromObject(object) { + GetSourceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.GetSourceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.GetSourceRequest(); if (object.name != null) message.name = String(object.name); @@ -78122,7 +81256,7 @@ function GroupAssetsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -78247,9 +81381,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupAssetsRequest.decode = function decode(reader, length, error) { + GroupAssetsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.GroupAssetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -78269,11 +81407,11 @@ break; } case 4: { - message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -78285,7 +81423,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -78316,9 +81454,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupAssetsRequest.verify = function verify(message) { + GroupAssetsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -78329,12 +81471,12 @@ if (!$util.isString(message.groupBy)) return "groupBy: string expected"; if (message.compareDuration != null && message.hasOwnProperty("compareDuration")) { - var error = $root.google.protobuf.Duration.verify(message.compareDuration); + var error = $root.google.protobuf.Duration.verify(message.compareDuration, long + 1); if (error) return "compareDuration." + error; } if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } @@ -78355,9 +81497,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.GroupAssetsRequest} GroupAssetsRequest */ - GroupAssetsRequest.fromObject = function fromObject(object) { + GroupAssetsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.GroupAssetsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.GroupAssetsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -78368,12 +81514,12 @@ if (object.compareDuration != null) { if (typeof object.compareDuration !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.GroupAssetsRequest.compareDuration: object expected"); - message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration); + message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration, long + 1); } if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.GroupAssetsRequest.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.pageToken != null) message.pageToken = String(object.pageToken); @@ -78474,7 +81620,7 @@ this.groupByResults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -78570,9 +81716,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupAssetsResponse.decode = function decode(reader, length, error) { + GroupAssetsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.GroupAssetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -78582,11 +81732,11 @@ case 1: { if (!(message.groupByResults && message.groupByResults.length)) message.groupByResults = []; - message.groupByResults.push($root.google.cloud.securitycenter.v1p1beta1.GroupResult.decode(reader, reader.uint32())); + message.groupByResults.push($root.google.cloud.securitycenter.v1p1beta1.GroupResult.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -78598,7 +81748,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -78629,20 +81779,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupAssetsResponse.verify = function verify(message) { + GroupAssetsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.groupByResults != null && message.hasOwnProperty("groupByResults")) { if (!Array.isArray(message.groupByResults)) return "groupByResults: array expected"; for (var i = 0; i < message.groupByResults.length; ++i) { - var error = $root.google.cloud.securitycenter.v1p1beta1.GroupResult.verify(message.groupByResults[i]); + var error = $root.google.cloud.securitycenter.v1p1beta1.GroupResult.verify(message.groupByResults[i], long + 1); if (error) return "groupByResults." + error; } } if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } @@ -78663,9 +81817,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.GroupAssetsResponse} GroupAssetsResponse */ - GroupAssetsResponse.fromObject = function fromObject(object) { + GroupAssetsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.GroupAssetsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.GroupAssetsResponse(); if (object.groupByResults) { if (!Array.isArray(object.groupByResults)) @@ -78674,13 +81832,13 @@ for (var i = 0; i < object.groupByResults.length; ++i) { if (typeof object.groupByResults[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.GroupAssetsResponse.groupByResults: object expected"); - message.groupByResults[i] = $root.google.cloud.securitycenter.v1p1beta1.GroupResult.fromObject(object.groupByResults[i]); + message.groupByResults[i] = $root.google.cloud.securitycenter.v1p1beta1.GroupResult.fromObject(object.groupByResults[i], long + 1); } } if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.GroupAssetsResponse.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.nextPageToken != null) message.nextPageToken = String(object.nextPageToken); @@ -78778,7 +81936,7 @@ function GroupFindingsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -78903,9 +82061,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupFindingsRequest.decode = function decode(reader, length, error) { + GroupFindingsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.GroupFindingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -78925,11 +82087,11 @@ break; } case 4: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -78941,7 +82103,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -78972,9 +82134,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupFindingsRequest.verify = function verify(message) { + GroupFindingsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -78985,12 +82151,12 @@ if (!$util.isString(message.groupBy)) return "groupBy: string expected"; if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } if (message.compareDuration != null && message.hasOwnProperty("compareDuration")) { - var error = $root.google.protobuf.Duration.verify(message.compareDuration); + var error = $root.google.protobuf.Duration.verify(message.compareDuration, long + 1); if (error) return "compareDuration." + error; } @@ -79011,9 +82177,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.GroupFindingsRequest} GroupFindingsRequest */ - GroupFindingsRequest.fromObject = function fromObject(object) { + GroupFindingsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.GroupFindingsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.GroupFindingsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -79024,12 +82194,12 @@ if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.GroupFindingsRequest.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.compareDuration != null) { if (typeof object.compareDuration !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.GroupFindingsRequest.compareDuration: object expected"); - message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration); + message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration, long + 1); } if (object.pageToken != null) message.pageToken = String(object.pageToken); @@ -79130,7 +82300,7 @@ this.groupByResults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -79226,9 +82396,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupFindingsResponse.decode = function decode(reader, length, error) { + GroupFindingsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.GroupFindingsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -79238,11 +82412,11 @@ case 1: { if (!(message.groupByResults && message.groupByResults.length)) message.groupByResults = []; - message.groupByResults.push($root.google.cloud.securitycenter.v1p1beta1.GroupResult.decode(reader, reader.uint32())); + message.groupByResults.push($root.google.cloud.securitycenter.v1p1beta1.GroupResult.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -79254,7 +82428,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -79285,20 +82459,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupFindingsResponse.verify = function verify(message) { + GroupFindingsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.groupByResults != null && message.hasOwnProperty("groupByResults")) { if (!Array.isArray(message.groupByResults)) return "groupByResults: array expected"; for (var i = 0; i < message.groupByResults.length; ++i) { - var error = $root.google.cloud.securitycenter.v1p1beta1.GroupResult.verify(message.groupByResults[i]); + var error = $root.google.cloud.securitycenter.v1p1beta1.GroupResult.verify(message.groupByResults[i], long + 1); if (error) return "groupByResults." + error; } } if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } @@ -79319,9 +82497,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.GroupFindingsResponse} GroupFindingsResponse */ - GroupFindingsResponse.fromObject = function fromObject(object) { + GroupFindingsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.GroupFindingsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.GroupFindingsResponse(); if (object.groupByResults) { if (!Array.isArray(object.groupByResults)) @@ -79330,13 +82512,13 @@ for (var i = 0; i < object.groupByResults.length; ++i) { if (typeof object.groupByResults[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.GroupFindingsResponse.groupByResults: object expected"); - message.groupByResults[i] = $root.google.cloud.securitycenter.v1p1beta1.GroupResult.fromObject(object.groupByResults[i]); + message.groupByResults[i] = $root.google.cloud.securitycenter.v1p1beta1.GroupResult.fromObject(object.groupByResults[i], long + 1); } } if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.GroupFindingsResponse.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.nextPageToken != null) message.nextPageToken = String(object.nextPageToken); @@ -79430,7 +82612,7 @@ this.properties = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -79508,9 +82690,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupResult.decode = function decode(reader, length, error) { + GroupResult.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.GroupResult(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -79530,13 +82716,15 @@ key = reader.string(); break; case 2: - value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.properties, key); message.properties[key] = value; break; } @@ -79545,7 +82733,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -79576,15 +82764,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupResult.verify = function verify(message) { + GroupResult.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.properties != null && message.hasOwnProperty("properties")) { if (!$util.isObject(message.properties)) return "properties: object expected"; var key = Object.keys(message.properties); for (var i = 0; i < key.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.properties[key[i]]); + var error = $root.google.protobuf.Value.verify(message.properties[key[i]], long + 1); if (error) return "properties." + error; } @@ -79603,18 +82795,24 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.GroupResult} GroupResult */ - GroupResult.fromObject = function fromObject(object) { + GroupResult.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.GroupResult) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.GroupResult(); if (object.properties) { if (typeof object.properties !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.GroupResult.properties: object expected"); message.properties = {}; for (var keys = Object.keys(object.properties), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.properties, keys[i]); if (typeof object.properties[keys[i]] !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.GroupResult.properties: object expected"); - message.properties[keys[i]] = $root.google.protobuf.Value.fromObject(object.properties[keys[i]]); + message.properties[keys[i]] = $root.google.protobuf.Value.fromObject(object.properties[keys[i]], long + 1); } } if (object.count != null) @@ -79653,8 +82851,11 @@ var keys2; if (message.properties && (keys2 = Object.keys(message.properties)).length) { object.properties = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.properties, keys2[j]); object.properties[keys2[j]] = $root.google.protobuf.Value.toObject(message.properties[keys2[j]], options); + } } if (message.count != null && message.hasOwnProperty("count")) if (typeof message.count === "number") @@ -79715,7 +82916,7 @@ function ListNotificationConfigsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -79800,9 +83001,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListNotificationConfigsRequest.decode = function decode(reader, length, error) { + ListNotificationConfigsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.ListNotificationConfigsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -79822,7 +83027,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -79853,9 +83058,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListNotificationConfigsRequest.verify = function verify(message) { + ListNotificationConfigsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -79876,9 +83085,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.ListNotificationConfigsRequest} ListNotificationConfigsRequest */ - ListNotificationConfigsRequest.fromObject = function fromObject(object) { + ListNotificationConfigsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.ListNotificationConfigsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.ListNotificationConfigsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -79967,7 +83180,7 @@ this.notificationConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -80043,9 +83256,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListNotificationConfigsResponse.decode = function decode(reader, length, error) { + ListNotificationConfigsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.ListNotificationConfigsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -80055,7 +83272,7 @@ case 1: { if (!(message.notificationConfigs && message.notificationConfigs.length)) message.notificationConfigs = []; - message.notificationConfigs.push($root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.decode(reader, reader.uint32())); + message.notificationConfigs.push($root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -80063,7 +83280,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -80094,14 +83311,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListNotificationConfigsResponse.verify = function verify(message) { + ListNotificationConfigsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.notificationConfigs != null && message.hasOwnProperty("notificationConfigs")) { if (!Array.isArray(message.notificationConfigs)) return "notificationConfigs: array expected"; for (var i = 0; i < message.notificationConfigs.length; ++i) { - var error = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.verify(message.notificationConfigs[i]); + var error = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.verify(message.notificationConfigs[i], long + 1); if (error) return "notificationConfigs." + error; } @@ -80120,9 +83341,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.ListNotificationConfigsResponse} ListNotificationConfigsResponse */ - ListNotificationConfigsResponse.fromObject = function fromObject(object) { + ListNotificationConfigsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.ListNotificationConfigsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.ListNotificationConfigsResponse(); if (object.notificationConfigs) { if (!Array.isArray(object.notificationConfigs)) @@ -80131,7 +83356,7 @@ for (var i = 0; i < object.notificationConfigs.length; ++i) { if (typeof object.notificationConfigs[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.ListNotificationConfigsResponse.notificationConfigs: object expected"); - message.notificationConfigs[i] = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.fromObject(object.notificationConfigs[i]); + message.notificationConfigs[i] = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.fromObject(object.notificationConfigs[i], long + 1); } } if (object.nextPageToken != null) @@ -80217,7 +83442,7 @@ function ListSourcesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -80302,9 +83527,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListSourcesRequest.decode = function decode(reader, length, error) { + ListSourcesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.ListSourcesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -80324,7 +83553,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -80355,9 +83584,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListSourcesRequest.verify = function verify(message) { + ListSourcesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -80378,9 +83611,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.ListSourcesRequest} ListSourcesRequest */ - ListSourcesRequest.fromObject = function fromObject(object) { + ListSourcesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.ListSourcesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.ListSourcesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -80469,7 +83706,7 @@ this.sources = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -80545,9 +83782,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListSourcesResponse.decode = function decode(reader, length, error) { + ListSourcesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.ListSourcesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -80557,7 +83798,7 @@ case 1: { if (!(message.sources && message.sources.length)) message.sources = []; - message.sources.push($root.google.cloud.securitycenter.v1p1beta1.Source.decode(reader, reader.uint32())); + message.sources.push($root.google.cloud.securitycenter.v1p1beta1.Source.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -80565,7 +83806,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -80596,14 +83837,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListSourcesResponse.verify = function verify(message) { + ListSourcesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.sources != null && message.hasOwnProperty("sources")) { if (!Array.isArray(message.sources)) return "sources: array expected"; for (var i = 0; i < message.sources.length; ++i) { - var error = $root.google.cloud.securitycenter.v1p1beta1.Source.verify(message.sources[i]); + var error = $root.google.cloud.securitycenter.v1p1beta1.Source.verify(message.sources[i], long + 1); if (error) return "sources." + error; } @@ -80622,9 +83867,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.ListSourcesResponse} ListSourcesResponse */ - ListSourcesResponse.fromObject = function fromObject(object) { + ListSourcesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.ListSourcesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.ListSourcesResponse(); if (object.sources) { if (!Array.isArray(object.sources)) @@ -80633,7 +83882,7 @@ for (var i = 0; i < object.sources.length; ++i) { if (typeof object.sources[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.ListSourcesResponse.sources: object expected"); - message.sources[i] = $root.google.cloud.securitycenter.v1p1beta1.Source.fromObject(object.sources[i]); + message.sources[i] = $root.google.cloud.securitycenter.v1p1beta1.Source.fromObject(object.sources[i], long + 1); } } if (object.nextPageToken != null) @@ -80724,7 +83973,7 @@ function ListAssetsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -80859,9 +84108,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAssetsRequest.decode = function decode(reader, length, error) { + ListAssetsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.ListAssetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -80881,15 +84134,15 @@ break; } case 4: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { @@ -80901,7 +84154,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -80932,9 +84185,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListAssetsRequest.verify = function verify(message) { + ListAssetsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -80945,17 +84202,17 @@ if (!$util.isString(message.orderBy)) return "orderBy: string expected"; if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } if (message.compareDuration != null && message.hasOwnProperty("compareDuration")) { - var error = $root.google.protobuf.Duration.verify(message.compareDuration); + var error = $root.google.protobuf.Duration.verify(message.compareDuration, long + 1); if (error) return "compareDuration." + error; } if (message.fieldMask != null && message.hasOwnProperty("fieldMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.fieldMask); + var error = $root.google.protobuf.FieldMask.verify(message.fieldMask, long + 1); if (error) return "fieldMask." + error; } @@ -80976,9 +84233,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.ListAssetsRequest} ListAssetsRequest */ - ListAssetsRequest.fromObject = function fromObject(object) { + ListAssetsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.ListAssetsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.ListAssetsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -80989,17 +84250,17 @@ if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.ListAssetsRequest.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.compareDuration != null) { if (typeof object.compareDuration !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.ListAssetsRequest.compareDuration: object expected"); - message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration); + message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration, long + 1); } if (object.fieldMask != null) { if (typeof object.fieldMask !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.ListAssetsRequest.fieldMask: object expected"); - message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask); + message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask, long + 1); } if (object.pageToken != null) message.pageToken = String(object.pageToken); @@ -81103,7 +84364,7 @@ this.listAssetsResults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -81199,9 +84460,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAssetsResponse.decode = function decode(reader, length, error) { + ListAssetsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.ListAssetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -81211,11 +84476,11 @@ case 1: { if (!(message.listAssetsResults && message.listAssetsResults.length)) message.listAssetsResults = []; - message.listAssetsResults.push($root.google.cloud.securitycenter.v1p1beta1.ListAssetsResponse.ListAssetsResult.decode(reader, reader.uint32())); + message.listAssetsResults.push($root.google.cloud.securitycenter.v1p1beta1.ListAssetsResponse.ListAssetsResult.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -81227,7 +84492,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -81258,20 +84523,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListAssetsResponse.verify = function verify(message) { + ListAssetsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.listAssetsResults != null && message.hasOwnProperty("listAssetsResults")) { if (!Array.isArray(message.listAssetsResults)) return "listAssetsResults: array expected"; for (var i = 0; i < message.listAssetsResults.length; ++i) { - var error = $root.google.cloud.securitycenter.v1p1beta1.ListAssetsResponse.ListAssetsResult.verify(message.listAssetsResults[i]); + var error = $root.google.cloud.securitycenter.v1p1beta1.ListAssetsResponse.ListAssetsResult.verify(message.listAssetsResults[i], long + 1); if (error) return "listAssetsResults." + error; } } if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } @@ -81292,9 +84561,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.ListAssetsResponse} ListAssetsResponse */ - ListAssetsResponse.fromObject = function fromObject(object) { + ListAssetsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.ListAssetsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.ListAssetsResponse(); if (object.listAssetsResults) { if (!Array.isArray(object.listAssetsResults)) @@ -81303,13 +84576,13 @@ for (var i = 0; i < object.listAssetsResults.length; ++i) { if (typeof object.listAssetsResults[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.ListAssetsResponse.listAssetsResults: object expected"); - message.listAssetsResults[i] = $root.google.cloud.securitycenter.v1p1beta1.ListAssetsResponse.ListAssetsResult.fromObject(object.listAssetsResults[i]); + message.listAssetsResults[i] = $root.google.cloud.securitycenter.v1p1beta1.ListAssetsResponse.ListAssetsResult.fromObject(object.listAssetsResults[i], long + 1); } } if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.ListAssetsResponse.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.nextPageToken != null) message.nextPageToken = String(object.nextPageToken); @@ -81399,7 +84672,7 @@ function ListAssetsResult(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -81474,9 +84747,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAssetsResult.decode = function decode(reader, length, error) { + ListAssetsResult.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.ListAssetsResponse.ListAssetsResult(); while (reader.pos < end) { var tag = reader.uint32(); @@ -81484,7 +84761,7 @@ break; switch (tag >>> 3) { case 1: { - message.asset = $root.google.cloud.securitycenter.v1p1beta1.Asset.decode(reader, reader.uint32()); + message.asset = $root.google.cloud.securitycenter.v1p1beta1.Asset.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -81492,7 +84769,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -81523,11 +84800,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListAssetsResult.verify = function verify(message) { + ListAssetsResult.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.asset != null && message.hasOwnProperty("asset")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.Asset.verify(message.asset); + var error = $root.google.cloud.securitycenter.v1p1beta1.Asset.verify(message.asset, long + 1); if (error) return "asset." + error; } @@ -81552,14 +84833,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.ListAssetsResponse.ListAssetsResult} ListAssetsResult */ - ListAssetsResult.fromObject = function fromObject(object) { + ListAssetsResult.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.ListAssetsResponse.ListAssetsResult) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.ListAssetsResponse.ListAssetsResult(); if (object.asset != null) { if (typeof object.asset !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.ListAssetsResponse.ListAssetsResult.asset: object expected"); - message.asset = $root.google.cloud.securitycenter.v1p1beta1.Asset.fromObject(object.asset); + message.asset = $root.google.cloud.securitycenter.v1p1beta1.Asset.fromObject(object.asset, long + 1); } switch (object.stateChange) { default: @@ -81689,7 +84974,7 @@ function ListFindingsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -81824,9 +85109,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListFindingsRequest.decode = function decode(reader, length, error) { + ListFindingsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.ListFindingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -81846,15 +85135,15 @@ break; } case 4: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.compareDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { @@ -81866,7 +85155,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -81897,9 +85186,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListFindingsRequest.verify = function verify(message) { + ListFindingsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -81910,17 +85203,17 @@ if (!$util.isString(message.orderBy)) return "orderBy: string expected"; if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } if (message.compareDuration != null && message.hasOwnProperty("compareDuration")) { - var error = $root.google.protobuf.Duration.verify(message.compareDuration); + var error = $root.google.protobuf.Duration.verify(message.compareDuration, long + 1); if (error) return "compareDuration." + error; } if (message.fieldMask != null && message.hasOwnProperty("fieldMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.fieldMask); + var error = $root.google.protobuf.FieldMask.verify(message.fieldMask, long + 1); if (error) return "fieldMask." + error; } @@ -81941,9 +85234,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.ListFindingsRequest} ListFindingsRequest */ - ListFindingsRequest.fromObject = function fromObject(object) { + ListFindingsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.ListFindingsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.ListFindingsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -81954,17 +85251,17 @@ if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.ListFindingsRequest.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.compareDuration != null) { if (typeof object.compareDuration !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.ListFindingsRequest.compareDuration: object expected"); - message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration); + message.compareDuration = $root.google.protobuf.Duration.fromObject(object.compareDuration, long + 1); } if (object.fieldMask != null) { if (typeof object.fieldMask !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.ListFindingsRequest.fieldMask: object expected"); - message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask); + message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask, long + 1); } if (object.pageToken != null) message.pageToken = String(object.pageToken); @@ -82068,7 +85365,7 @@ this.listFindingsResults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -82164,9 +85461,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListFindingsResponse.decode = function decode(reader, length, error) { + ListFindingsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -82176,11 +85477,11 @@ case 1: { if (!(message.listFindingsResults && message.listFindingsResults.length)) message.listFindingsResults = []; - message.listFindingsResults.push($root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.decode(reader, reader.uint32())); + message.listFindingsResults.push($root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -82192,7 +85493,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -82223,20 +85524,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListFindingsResponse.verify = function verify(message) { + ListFindingsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.listFindingsResults != null && message.hasOwnProperty("listFindingsResults")) { if (!Array.isArray(message.listFindingsResults)) return "listFindingsResults: array expected"; for (var i = 0; i < message.listFindingsResults.length; ++i) { - var error = $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.verify(message.listFindingsResults[i]); + var error = $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.verify(message.listFindingsResults[i], long + 1); if (error) return "listFindingsResults." + error; } } if (message.readTime != null && message.hasOwnProperty("readTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTime); + var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1); if (error) return "readTime." + error; } @@ -82257,9 +85562,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.ListFindingsResponse} ListFindingsResponse */ - ListFindingsResponse.fromObject = function fromObject(object) { + ListFindingsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse(); if (object.listFindingsResults) { if (!Array.isArray(object.listFindingsResults)) @@ -82268,13 +85577,13 @@ for (var i = 0; i < object.listFindingsResults.length; ++i) { if (typeof object.listFindingsResults[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.listFindingsResults: object expected"); - message.listFindingsResults[i] = $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.fromObject(object.listFindingsResults[i]); + message.listFindingsResults[i] = $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.fromObject(object.listFindingsResults[i], long + 1); } } if (object.readTime != null) { if (typeof object.readTime !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.readTime: object expected"); - message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime); + message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1); } if (object.nextPageToken != null) message.nextPageToken = String(object.nextPageToken); @@ -82365,7 +85674,7 @@ function ListFindingsResult(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -82450,9 +85759,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListFindingsResult.decode = function decode(reader, length, error) { + ListFindingsResult.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult(); while (reader.pos < end) { var tag = reader.uint32(); @@ -82460,7 +85773,7 @@ break; switch (tag >>> 3) { case 1: { - message.finding = $root.google.cloud.securitycenter.v1p1beta1.Finding.decode(reader, reader.uint32()); + message.finding = $root.google.cloud.securitycenter.v1p1beta1.Finding.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -82468,11 +85781,11 @@ break; } case 3: { - message.resource = $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.Resource.decode(reader, reader.uint32()); + message.resource = $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.Resource.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -82503,11 +85816,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListFindingsResult.verify = function verify(message) { + ListFindingsResult.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.finding != null && message.hasOwnProperty("finding")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.Finding.verify(message.finding); + var error = $root.google.cloud.securitycenter.v1p1beta1.Finding.verify(message.finding, long + 1); if (error) return "finding." + error; } @@ -82523,7 +85840,7 @@ break; } if (message.resource != null && message.hasOwnProperty("resource")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.Resource.verify(message.resource); + var error = $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.Resource.verify(message.resource, long + 1); if (error) return "resource." + error; } @@ -82538,14 +85855,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult} ListFindingsResult */ - ListFindingsResult.fromObject = function fromObject(object) { + ListFindingsResult.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult(); if (object.finding != null) { if (typeof object.finding !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.finding: object expected"); - message.finding = $root.google.cloud.securitycenter.v1p1beta1.Finding.fromObject(object.finding); + message.finding = $root.google.cloud.securitycenter.v1p1beta1.Finding.fromObject(object.finding, long + 1); } switch (object.stateChange) { default: @@ -82578,7 +85899,7 @@ if (object.resource != null) { if (typeof object.resource !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.resource: object expected"); - message.resource = $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.Resource.fromObject(object.resource); + message.resource = $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.Resource.fromObject(object.resource, long + 1); } return message; }; @@ -82662,7 +85983,7 @@ this.folders = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -82778,9 +86099,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Resource.decode = function decode(reader, length, error) { + Resource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.Resource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -82810,11 +86135,11 @@ case 10: { if (!(message.folders && message.folders.length)) message.folders = []; - message.folders.push($root.google.cloud.securitycenter.v1p1beta1.Folder.decode(reader, reader.uint32())); + message.folders.push($root.google.cloud.securitycenter.v1p1beta1.Folder.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -82845,9 +86170,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Resource.verify = function verify(message) { + Resource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -82867,7 +86196,7 @@ if (!Array.isArray(message.folders)) return "folders: array expected"; for (var i = 0; i < message.folders.length; ++i) { - var error = $root.google.cloud.securitycenter.v1p1beta1.Folder.verify(message.folders[i]); + var error = $root.google.cloud.securitycenter.v1p1beta1.Folder.verify(message.folders[i], long + 1); if (error) return "folders." + error; } @@ -82883,9 +86212,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.Resource} Resource */ - Resource.fromObject = function fromObject(object) { + Resource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.Resource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.Resource(); if (object.name != null) message.name = String(object.name); @@ -82904,7 +86237,7 @@ for (var i = 0; i < object.folders.length; ++i) { if (typeof object.folders[i] !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.Resource.folders: object expected"); - message.folders[i] = $root.google.cloud.securitycenter.v1p1beta1.Folder.fromObject(object.folders[i]); + message.folders[i] = $root.google.cloud.securitycenter.v1p1beta1.Folder.fromObject(object.folders[i], long + 1); } } return message; @@ -83027,7 +86360,7 @@ function SetFindingStateRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -83112,9 +86445,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SetFindingStateRequest.decode = function decode(reader, length, error) { + SetFindingStateRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.SetFindingStateRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -83130,11 +86467,11 @@ break; } case 3: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -83165,9 +86502,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SetFindingStateRequest.verify = function verify(message) { + SetFindingStateRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -83181,7 +86522,7 @@ break; } if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } @@ -83196,9 +86537,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.SetFindingStateRequest} SetFindingStateRequest */ - SetFindingStateRequest.fromObject = function fromObject(object) { + SetFindingStateRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.SetFindingStateRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.SetFindingStateRequest(); if (object.name != null) message.name = String(object.name); @@ -83225,7 +86570,7 @@ if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.SetFindingStateRequest.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } return message; }; @@ -83306,7 +86651,7 @@ function RunAssetDiscoveryRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -83371,9 +86716,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RunAssetDiscoveryRequest.decode = function decode(reader, length, error) { + RunAssetDiscoveryRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.RunAssetDiscoveryRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -83385,7 +86734,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -83416,9 +86765,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RunAssetDiscoveryRequest.verify = function verify(message) { + RunAssetDiscoveryRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -83433,9 +86786,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.RunAssetDiscoveryRequest} RunAssetDiscoveryRequest */ - RunAssetDiscoveryRequest.fromObject = function fromObject(object) { + RunAssetDiscoveryRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.RunAssetDiscoveryRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.RunAssetDiscoveryRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -83512,7 +86869,7 @@ function UpdateFindingRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -83587,9 +86944,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateFindingRequest.decode = function decode(reader, length, error) { + UpdateFindingRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.UpdateFindingRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -83597,15 +86958,15 @@ break; switch (tag >>> 3) { case 1: { - message.finding = $root.google.cloud.securitycenter.v1p1beta1.Finding.decode(reader, reader.uint32()); + message.finding = $root.google.cloud.securitycenter.v1p1beta1.Finding.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -83636,16 +86997,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateFindingRequest.verify = function verify(message) { + UpdateFindingRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.finding != null && message.hasOwnProperty("finding")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.Finding.verify(message.finding); + var error = $root.google.cloud.securitycenter.v1p1beta1.Finding.verify(message.finding, long + 1); if (error) return "finding." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -83660,19 +87025,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.UpdateFindingRequest} UpdateFindingRequest */ - UpdateFindingRequest.fromObject = function fromObject(object) { + UpdateFindingRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.UpdateFindingRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.UpdateFindingRequest(); if (object.finding != null) { if (typeof object.finding !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.UpdateFindingRequest.finding: object expected"); - message.finding = $root.google.cloud.securitycenter.v1p1beta1.Finding.fromObject(object.finding); + message.finding = $root.google.cloud.securitycenter.v1p1beta1.Finding.fromObject(object.finding, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.UpdateFindingRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -83751,7 +87120,7 @@ function UpdateNotificationConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -83826,9 +87195,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateNotificationConfigRequest.decode = function decode(reader, length, error) { + UpdateNotificationConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.UpdateNotificationConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -83836,15 +87209,15 @@ break; switch (tag >>> 3) { case 1: { - message.notificationConfig = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.decode(reader, reader.uint32()); + message.notificationConfig = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -83875,16 +87248,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateNotificationConfigRequest.verify = function verify(message) { + UpdateNotificationConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.notificationConfig != null && message.hasOwnProperty("notificationConfig")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.verify(message.notificationConfig); + var error = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.verify(message.notificationConfig, long + 1); if (error) return "notificationConfig." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -83899,19 +87276,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.UpdateNotificationConfigRequest} UpdateNotificationConfigRequest */ - UpdateNotificationConfigRequest.fromObject = function fromObject(object) { + UpdateNotificationConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.UpdateNotificationConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.UpdateNotificationConfigRequest(); if (object.notificationConfig != null) { if (typeof object.notificationConfig !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.UpdateNotificationConfigRequest.notificationConfig: object expected"); - message.notificationConfig = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.fromObject(object.notificationConfig); + message.notificationConfig = $root.google.cloud.securitycenter.v1p1beta1.NotificationConfig.fromObject(object.notificationConfig, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.UpdateNotificationConfigRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -83990,7 +87371,7 @@ function UpdateOrganizationSettingsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -84065,9 +87446,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateOrganizationSettingsRequest.decode = function decode(reader, length, error) { + UpdateOrganizationSettingsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.UpdateOrganizationSettingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -84075,15 +87460,15 @@ break; switch (tag >>> 3) { case 1: { - message.organizationSettings = $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings.decode(reader, reader.uint32()); + message.organizationSettings = $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -84114,16 +87499,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateOrganizationSettingsRequest.verify = function verify(message) { + UpdateOrganizationSettingsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.organizationSettings != null && message.hasOwnProperty("organizationSettings")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings.verify(message.organizationSettings); + var error = $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings.verify(message.organizationSettings, long + 1); if (error) return "organizationSettings." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -84138,19 +87527,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.UpdateOrganizationSettingsRequest} UpdateOrganizationSettingsRequest */ - UpdateOrganizationSettingsRequest.fromObject = function fromObject(object) { + UpdateOrganizationSettingsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.UpdateOrganizationSettingsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.UpdateOrganizationSettingsRequest(); if (object.organizationSettings != null) { if (typeof object.organizationSettings !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.UpdateOrganizationSettingsRequest.organizationSettings: object expected"); - message.organizationSettings = $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings.fromObject(object.organizationSettings); + message.organizationSettings = $root.google.cloud.securitycenter.v1p1beta1.OrganizationSettings.fromObject(object.organizationSettings, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.UpdateOrganizationSettingsRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -84229,7 +87622,7 @@ function UpdateSourceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -84304,9 +87697,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateSourceRequest.decode = function decode(reader, length, error) { + UpdateSourceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.UpdateSourceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -84314,15 +87711,15 @@ break; switch (tag >>> 3) { case 1: { - message.source = $root.google.cloud.securitycenter.v1p1beta1.Source.decode(reader, reader.uint32()); + message.source = $root.google.cloud.securitycenter.v1p1beta1.Source.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -84353,16 +87750,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateSourceRequest.verify = function verify(message) { + UpdateSourceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.source != null && message.hasOwnProperty("source")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.Source.verify(message.source); + var error = $root.google.cloud.securitycenter.v1p1beta1.Source.verify(message.source, long + 1); if (error) return "source." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -84377,19 +87778,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.UpdateSourceRequest} UpdateSourceRequest */ - UpdateSourceRequest.fromObject = function fromObject(object) { + UpdateSourceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.UpdateSourceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.UpdateSourceRequest(); if (object.source != null) { if (typeof object.source !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.UpdateSourceRequest.source: object expected"); - message.source = $root.google.cloud.securitycenter.v1p1beta1.Source.fromObject(object.source); + message.source = $root.google.cloud.securitycenter.v1p1beta1.Source.fromObject(object.source, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.UpdateSourceRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -84469,7 +87874,7 @@ function UpdateSecurityMarksRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -84554,9 +87959,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateSecurityMarksRequest.decode = function decode(reader, length, error) { + UpdateSecurityMarksRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.UpdateSecurityMarksRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -84564,19 +87973,19 @@ break; switch (tag >>> 3) { case 1: { - message.securityMarks = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.decode(reader, reader.uint32()); + message.securityMarks = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -84607,21 +88016,25 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateSecurityMarksRequest.verify = function verify(message) { + UpdateSecurityMarksRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) { - var error = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.verify(message.securityMarks); + var error = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.verify(message.securityMarks, long + 1); if (error) return "securityMarks." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } @@ -84636,24 +88049,28 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.UpdateSecurityMarksRequest} UpdateSecurityMarksRequest */ - UpdateSecurityMarksRequest.fromObject = function fromObject(object) { + UpdateSecurityMarksRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.UpdateSecurityMarksRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.UpdateSecurityMarksRequest(); if (object.securityMarks != null) { if (typeof object.securityMarks !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.UpdateSecurityMarksRequest.securityMarks: object expected"); - message.securityMarks = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.fromObject(object.securityMarks); + message.securityMarks = $root.google.cloud.securitycenter.v1p1beta1.SecurityMarks.fromObject(object.securityMarks, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.UpdateSecurityMarksRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.cloud.securitycenter.v1p1beta1.UpdateSecurityMarksRequest.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } return message; }; @@ -84737,7 +88154,7 @@ function Source(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -84832,9 +88249,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Source.decode = function decode(reader, length, error) { + Source.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v1p1beta1.Source(); while (reader.pos < end) { var tag = reader.uint32(); @@ -84858,7 +88279,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -84889,9 +88310,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Source.verify = function verify(message) { + Source.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -84915,9 +88340,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v1p1beta1.Source} Source */ - Source.fromObject = function fromObject(object) { + Source.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v1p1beta1.Source) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v1p1beta1.Source(); if (object.name != null) message.name = String(object.name); @@ -85032,7 +88461,7 @@ this.serviceAccountDelegationInfo = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -85198,9 +88627,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Access.decode = function decode(reader, length, error) { + Access.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Access(); while (reader.pos < end) { var tag = reader.uint32(); @@ -85216,7 +88649,7 @@ break; } case 3: { - message.callerIpGeo = $root.google.cloud.securitycenter.v2.Geolocation.decode(reader, reader.uint32()); + message.callerIpGeo = $root.google.cloud.securitycenter.v2.Geolocation.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -85246,7 +88679,7 @@ case 10: { if (!(message.serviceAccountDelegationInfo && message.serviceAccountDelegationInfo.length)) message.serviceAccountDelegationInfo = []; - message.serviceAccountDelegationInfo.push($root.google.cloud.securitycenter.v2.ServiceAccountDelegationInfo.decode(reader, reader.uint32())); + message.serviceAccountDelegationInfo.push($root.google.cloud.securitycenter.v2.ServiceAccountDelegationInfo.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 11: { @@ -85254,7 +88687,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -85285,9 +88718,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Access.verify = function verify(message) { + Access.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.principalEmail != null && message.hasOwnProperty("principalEmail")) if (!$util.isString(message.principalEmail)) return "principalEmail: string expected"; @@ -85295,7 +88732,7 @@ if (!$util.isString(message.callerIp)) return "callerIp: string expected"; if (message.callerIpGeo != null && message.hasOwnProperty("callerIpGeo")) { - var error = $root.google.cloud.securitycenter.v2.Geolocation.verify(message.callerIpGeo); + var error = $root.google.cloud.securitycenter.v2.Geolocation.verify(message.callerIpGeo, long + 1); if (error) return "callerIpGeo." + error; } @@ -85321,7 +88758,7 @@ if (!Array.isArray(message.serviceAccountDelegationInfo)) return "serviceAccountDelegationInfo: array expected"; for (var i = 0; i < message.serviceAccountDelegationInfo.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.ServiceAccountDelegationInfo.verify(message.serviceAccountDelegationInfo[i]); + var error = $root.google.cloud.securitycenter.v2.ServiceAccountDelegationInfo.verify(message.serviceAccountDelegationInfo[i], long + 1); if (error) return "serviceAccountDelegationInfo." + error; } @@ -85340,9 +88777,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Access} Access */ - Access.fromObject = function fromObject(object) { + Access.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Access) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Access(); if (object.principalEmail != null) message.principalEmail = String(object.principalEmail); @@ -85351,7 +88792,7 @@ if (object.callerIpGeo != null) { if (typeof object.callerIpGeo !== "object") throw TypeError(".google.cloud.securitycenter.v2.Access.callerIpGeo: object expected"); - message.callerIpGeo = $root.google.cloud.securitycenter.v2.Geolocation.fromObject(object.callerIpGeo); + message.callerIpGeo = $root.google.cloud.securitycenter.v2.Geolocation.fromObject(object.callerIpGeo, long + 1); } if (object.userAgentFamily != null) message.userAgentFamily = String(object.userAgentFamily); @@ -85372,7 +88813,7 @@ for (var i = 0; i < object.serviceAccountDelegationInfo.length; ++i) { if (typeof object.serviceAccountDelegationInfo[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Access.serviceAccountDelegationInfo: object expected"); - message.serviceAccountDelegationInfo[i] = $root.google.cloud.securitycenter.v2.ServiceAccountDelegationInfo.fromObject(object.serviceAccountDelegationInfo[i]); + message.serviceAccountDelegationInfo[i] = $root.google.cloud.securitycenter.v2.ServiceAccountDelegationInfo.fromObject(object.serviceAccountDelegationInfo[i], long + 1); } } if (object.userName != null) @@ -85485,7 +88926,7 @@ function ServiceAccountDelegationInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -85560,9 +89001,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceAccountDelegationInfo.decode = function decode(reader, length, error) { + ServiceAccountDelegationInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ServiceAccountDelegationInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -85578,7 +89023,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -85609,9 +89054,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ServiceAccountDelegationInfo.verify = function verify(message) { + ServiceAccountDelegationInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.principalEmail != null && message.hasOwnProperty("principalEmail")) if (!$util.isString(message.principalEmail)) return "principalEmail: string expected"; @@ -85629,9 +89078,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ServiceAccountDelegationInfo} ServiceAccountDelegationInfo */ - ServiceAccountDelegationInfo.fromObject = function fromObject(object) { + ServiceAccountDelegationInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ServiceAccountDelegationInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ServiceAccountDelegationInfo(); if (object.principalEmail != null) message.principalEmail = String(object.principalEmail); @@ -85713,7 +89166,7 @@ function Geolocation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -85778,9 +89231,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Geolocation.decode = function decode(reader, length, error) { + Geolocation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Geolocation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -85792,7 +89249,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -85823,9 +89280,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Geolocation.verify = function verify(message) { + Geolocation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.regionCode != null && message.hasOwnProperty("regionCode")) if (!$util.isString(message.regionCode)) return "regionCode: string expected"; @@ -85840,9 +89301,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Geolocation} Geolocation */ - Geolocation.fromObject = function fromObject(object) { + Geolocation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Geolocation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Geolocation(); if (object.regionCode != null) message.regionCode = String(object.regionCode); @@ -85918,7 +89383,7 @@ function AffectedResources(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -85983,9 +89448,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AffectedResources.decode = function decode(reader, length, error) { + AffectedResources.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AffectedResources(); while (reader.pos < end) { var tag = reader.uint32(); @@ -85997,7 +89466,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -86028,9 +89497,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AffectedResources.verify = function verify(message) { + AffectedResources.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.count != null && message.hasOwnProperty("count")) if (!$util.isInteger(message.count) && !(message.count && $util.isInteger(message.count.low) && $util.isInteger(message.count.high))) return "count: integer|Long expected"; @@ -86045,9 +89518,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AffectedResources} AffectedResources */ - AffectedResources.fromObject = function fromObject(object) { + AffectedResources.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AffectedResources) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AffectedResources(); if (object.count != null) if ($util.Long) @@ -86143,7 +89620,7 @@ function AiModel(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -86268,9 +89745,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AiModel.decode = function decode(reader, length, error) { + AiModel.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AiModel(); while (reader.pos < end) { var tag = reader.uint32(); @@ -86306,7 +89787,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -86337,9 +89818,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AiModel.verify = function verify(message) { + AiModel.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -86380,9 +89865,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AiModel} AiModel */ - AiModel.fromObject = function fromObject(object) { + AiModel.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AiModel) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AiModel(); if (object.name != null) message.name = String(object.name); @@ -86536,7 +90025,7 @@ function Application(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -86611,9 +90100,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Application.decode = function decode(reader, length, error) { + Application.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Application(); while (reader.pos < end) { var tag = reader.uint32(); @@ -86629,7 +90122,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -86660,9 +90153,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Application.verify = function verify(message) { + Application.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.baseUri != null && message.hasOwnProperty("baseUri")) if (!$util.isString(message.baseUri)) return "baseUri: string expected"; @@ -86680,9 +90177,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Application} Application */ - Application.fromObject = function fromObject(object) { + Application.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Application) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Application(); if (object.baseUri != null) message.baseUri = String(object.baseUri); @@ -86770,7 +90271,7 @@ function AttackExposure(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -86895,9 +90396,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AttackExposure.decode = function decode(reader, length, error) { + AttackExposure.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AttackExposure(); while (reader.pos < end) { var tag = reader.uint32(); @@ -86909,7 +90414,7 @@ break; } case 2: { - message.latestCalculationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.latestCalculationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -86933,7 +90438,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -86964,14 +90469,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AttackExposure.verify = function verify(message) { + AttackExposure.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.score != null && message.hasOwnProperty("score")) if (typeof message.score !== "number") return "score: number expected"; if (message.latestCalculationTime != null && message.hasOwnProperty("latestCalculationTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.latestCalculationTime); + var error = $root.google.protobuf.Timestamp.verify(message.latestCalculationTime, long + 1); if (error) return "latestCalculationTime." + error; } @@ -87007,16 +90516,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AttackExposure} AttackExposure */ - AttackExposure.fromObject = function fromObject(object) { + AttackExposure.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AttackExposure) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AttackExposure(); if (object.score != null) message.score = Number(object.score); if (object.latestCalculationTime != null) { if (typeof object.latestCalculationTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.AttackExposure.latestCalculationTime: object expected"); - message.latestCalculationTime = $root.google.protobuf.Timestamp.fromObject(object.latestCalculationTime); + message.latestCalculationTime = $root.google.protobuf.Timestamp.fromObject(object.latestCalculationTime, long + 1); } if (object.attackExposureResult != null) message.attackExposureResult = String(object.attackExposureResult); @@ -87157,7 +90670,7 @@ this.edges = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -87244,9 +90757,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AttackPath.decode = function decode(reader, length, error) { + AttackPath.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AttackPath(); while (reader.pos < end) { var tag = reader.uint32(); @@ -87260,17 +90777,17 @@ case 2: { if (!(message.pathNodes && message.pathNodes.length)) message.pathNodes = []; - message.pathNodes.push($root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.decode(reader, reader.uint32())); + message.pathNodes.push($root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { if (!(message.edges && message.edges.length)) message.edges = []; - message.edges.push($root.google.cloud.securitycenter.v2.AttackPath.AttackPathEdge.decode(reader, reader.uint32())); + message.edges.push($root.google.cloud.securitycenter.v2.AttackPath.AttackPathEdge.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -87301,9 +90818,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AttackPath.verify = function verify(message) { + AttackPath.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -87311,7 +90832,7 @@ if (!Array.isArray(message.pathNodes)) return "pathNodes: array expected"; for (var i = 0; i < message.pathNodes.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.verify(message.pathNodes[i]); + var error = $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.verify(message.pathNodes[i], long + 1); if (error) return "pathNodes." + error; } @@ -87320,7 +90841,7 @@ if (!Array.isArray(message.edges)) return "edges: array expected"; for (var i = 0; i < message.edges.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.AttackPath.AttackPathEdge.verify(message.edges[i]); + var error = $root.google.cloud.securitycenter.v2.AttackPath.AttackPathEdge.verify(message.edges[i], long + 1); if (error) return "edges." + error; } @@ -87336,9 +90857,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AttackPath} AttackPath */ - AttackPath.fromObject = function fromObject(object) { + AttackPath.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AttackPath) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AttackPath(); if (object.name != null) message.name = String(object.name); @@ -87349,7 +90874,7 @@ for (var i = 0; i < object.pathNodes.length; ++i) { if (typeof object.pathNodes[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.AttackPath.pathNodes: object expected"); - message.pathNodes[i] = $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.fromObject(object.pathNodes[i]); + message.pathNodes[i] = $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.fromObject(object.pathNodes[i], long + 1); } } if (object.edges) { @@ -87359,7 +90884,7 @@ for (var i = 0; i < object.edges.length; ++i) { if (typeof object.edges[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.AttackPath.edges: object expected"); - message.edges[i] = $root.google.cloud.securitycenter.v2.AttackPath.AttackPathEdge.fromObject(object.edges[i]); + message.edges[i] = $root.google.cloud.securitycenter.v2.AttackPath.AttackPathEdge.fromObject(object.edges[i], long + 1); } } return message; @@ -87452,7 +90977,7 @@ this.attackSteps = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -87569,9 +91094,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AttackPathNode.decode = function decode(reader, length, error) { + AttackPathNode.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode(); while (reader.pos < end) { var tag = reader.uint32(); @@ -87593,7 +91122,7 @@ case 4: { if (!(message.associatedFindings && message.associatedFindings.length)) message.associatedFindings = []; - message.associatedFindings.push($root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.PathNodeAssociatedFinding.decode(reader, reader.uint32())); + message.associatedFindings.push($root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.PathNodeAssociatedFinding.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { @@ -87603,11 +91132,11 @@ case 6: { if (!(message.attackSteps && message.attackSteps.length)) message.attackSteps = []; - message.attackSteps.push($root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode.decode(reader, reader.uint32())); + message.attackSteps.push($root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -87638,9 +91167,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AttackPathNode.verify = function verify(message) { + AttackPathNode.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resource != null && message.hasOwnProperty("resource")) if (!$util.isString(message.resource)) return "resource: string expected"; @@ -87654,7 +91187,7 @@ if (!Array.isArray(message.associatedFindings)) return "associatedFindings: array expected"; for (var i = 0; i < message.associatedFindings.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.PathNodeAssociatedFinding.verify(message.associatedFindings[i]); + var error = $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.PathNodeAssociatedFinding.verify(message.associatedFindings[i], long + 1); if (error) return "associatedFindings." + error; } @@ -87666,7 +91199,7 @@ if (!Array.isArray(message.attackSteps)) return "attackSteps: array expected"; for (var i = 0; i < message.attackSteps.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode.verify(message.attackSteps[i]); + var error = $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode.verify(message.attackSteps[i], long + 1); if (error) return "attackSteps." + error; } @@ -87682,9 +91215,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AttackPath.AttackPathNode} AttackPathNode */ - AttackPathNode.fromObject = function fromObject(object) { + AttackPathNode.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode(); if (object.resource != null) message.resource = String(object.resource); @@ -87699,7 +91236,7 @@ for (var i = 0; i < object.associatedFindings.length; ++i) { if (typeof object.associatedFindings[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.AttackPath.AttackPathNode.associatedFindings: object expected"); - message.associatedFindings[i] = $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.PathNodeAssociatedFinding.fromObject(object.associatedFindings[i]); + message.associatedFindings[i] = $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.PathNodeAssociatedFinding.fromObject(object.associatedFindings[i], long + 1); } } if (object.uuid != null) @@ -87711,7 +91248,7 @@ for (var i = 0; i < object.attackSteps.length; ++i) { if (typeof object.attackSteps[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.AttackPath.AttackPathNode.attackSteps: object expected"); - message.attackSteps[i] = $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode.fromObject(object.attackSteps[i]); + message.attackSteps[i] = $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode.fromObject(object.attackSteps[i], long + 1); } } return message; @@ -87809,7 +91346,7 @@ function PathNodeAssociatedFinding(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -87894,9 +91431,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PathNodeAssociatedFinding.decode = function decode(reader, length, error) { + PathNodeAssociatedFinding.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.PathNodeAssociatedFinding(); while (reader.pos < end) { var tag = reader.uint32(); @@ -87916,7 +91457,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -87947,9 +91488,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PathNodeAssociatedFinding.verify = function verify(message) { + PathNodeAssociatedFinding.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.canonicalFinding != null && message.hasOwnProperty("canonicalFinding")) if (!$util.isString(message.canonicalFinding)) return "canonicalFinding: string expected"; @@ -87970,9 +91515,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AttackPath.AttackPathNode.PathNodeAssociatedFinding} PathNodeAssociatedFinding */ - PathNodeAssociatedFinding.fromObject = function fromObject(object) { + PathNodeAssociatedFinding.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.PathNodeAssociatedFinding) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.PathNodeAssociatedFinding(); if (object.canonicalFinding != null) message.canonicalFinding = String(object.canonicalFinding); @@ -88084,7 +91633,7 @@ this.labels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -88190,9 +91739,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AttackStepNode.decode = function decode(reader, length, error) { + AttackStepNode.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -88227,10 +91780,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } @@ -88239,7 +91794,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -88270,9 +91825,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AttackStepNode.verify = function verify(message) { + AttackStepNode.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.uuid != null && message.hasOwnProperty("uuid")) if (!$util.isString(message.uuid)) return "uuid: string expected"; @@ -88312,9 +91871,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode} AttackStepNode */ - AttackStepNode.fromObject = function fromObject(object) { + AttackStepNode.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode(); if (object.uuid != null) message.uuid = String(object.uuid); @@ -88352,8 +91915,11 @@ if (typeof object.labels !== "object") throw TypeError(".google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } if (object.description != null) message.description = String(object.description); @@ -88390,8 +91956,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.description != null && message.hasOwnProperty("description")) object.description = message.description; @@ -88451,7 +92020,7 @@ function AttackPathEdge(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -88526,9 +92095,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AttackPathEdge.decode = function decode(reader, length, error) { + AttackPathEdge.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AttackPath.AttackPathEdge(); while (reader.pos < end) { var tag = reader.uint32(); @@ -88544,7 +92117,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -88575,9 +92148,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AttackPathEdge.verify = function verify(message) { + AttackPathEdge.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.source != null && message.hasOwnProperty("source")) if (!$util.isString(message.source)) return "source: string expected"; @@ -88595,9 +92172,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AttackPath.AttackPathEdge} AttackPathEdge */ - AttackPathEdge.fromObject = function fromObject(object) { + AttackPathEdge.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AttackPath.AttackPathEdge) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AttackPath.AttackPathEdge(); if (object.source != null) message.source = String(object.source); @@ -88694,7 +92275,7 @@ this.policyOptions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -88852,9 +92433,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BackupDisasterRecovery.decode = function decode(reader, length, error) { + BackupDisasterRecovery.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.BackupDisasterRecovery(); while (reader.pos < end) { var tag = reader.uint32(); @@ -88904,11 +92489,11 @@ break; } case 10: { - message.backupCreateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.backupCreateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -88939,9 +92524,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BackupDisasterRecovery.verify = function verify(message) { + BackupDisasterRecovery.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.backupTemplate != null && message.hasOwnProperty("backupTemplate")) if (!$util.isString(message.backupTemplate)) return "backupTemplate: string expected"; @@ -88982,7 +92571,7 @@ if (!$util.isString(message.backupType)) return "backupType: string expected"; if (message.backupCreateTime != null && message.hasOwnProperty("backupCreateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.backupCreateTime); + var error = $root.google.protobuf.Timestamp.verify(message.backupCreateTime, long + 1); if (error) return "backupCreateTime." + error; } @@ -88997,9 +92586,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.BackupDisasterRecovery} BackupDisasterRecovery */ - BackupDisasterRecovery.fromObject = function fromObject(object) { + BackupDisasterRecovery.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.BackupDisasterRecovery) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.BackupDisasterRecovery(); if (object.backupTemplate != null) message.backupTemplate = String(object.backupTemplate); @@ -89037,7 +92630,7 @@ if (object.backupCreateTime != null) { if (typeof object.backupCreateTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.BackupDisasterRecovery.backupCreateTime: object expected"); - message.backupCreateTime = $root.google.protobuf.Timestamp.fromObject(object.backupCreateTime); + message.backupCreateTime = $root.google.protobuf.Timestamp.fromObject(object.backupCreateTime, long + 1); } return message; }; @@ -89157,7 +92750,7 @@ function BigQueryExport(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -89292,9 +92885,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BigQueryExport.decode = function decode(reader, length, error) { + BigQueryExport.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.BigQueryExport(); while (reader.pos < end) { var tag = reader.uint32(); @@ -89318,11 +92915,11 @@ break; } case 5: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -89334,7 +92931,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -89365,9 +92962,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BigQueryExport.verify = function verify(message) { + BigQueryExport.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -89381,12 +92982,12 @@ if (!$util.isString(message.dataset)) return "dataset: string expected"; if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -89407,9 +93008,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.BigQueryExport} BigQueryExport */ - BigQueryExport.fromObject = function fromObject(object) { + BigQueryExport.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.BigQueryExport) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.BigQueryExport(); if (object.name != null) message.name = String(object.name); @@ -89422,12 +93027,12 @@ if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.BigQueryExport.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.BigQueryExport.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.mostRecentEditor != null) message.mostRecentEditor = String(object.mostRecentEditor); @@ -89528,7 +93133,7 @@ this.relatedFindings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -89594,9 +93199,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Chokepoint.decode = function decode(reader, length, error) { + Chokepoint.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Chokepoint(); while (reader.pos < end) { var tag = reader.uint32(); @@ -89610,7 +93219,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -89641,9 +93250,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Chokepoint.verify = function verify(message) { + Chokepoint.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.relatedFindings != null && message.hasOwnProperty("relatedFindings")) { if (!Array.isArray(message.relatedFindings)) return "relatedFindings: array expected"; @@ -89662,9 +93275,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Chokepoint} Chokepoint */ - Chokepoint.fromObject = function fromObject(object) { + Chokepoint.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Chokepoint) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Chokepoint(); if (object.relatedFindings) { if (!Array.isArray(object.relatedFindings)) @@ -89753,7 +93370,7 @@ function CloudArmor(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -89868,9 +93485,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CloudArmor.decode = function decode(reader, length, error) { + CloudArmor.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.CloudArmor(); while (reader.pos < end) { var tag = reader.uint32(); @@ -89878,19 +93499,19 @@ break; switch (tag >>> 3) { case 1: { - message.securityPolicy = $root.google.cloud.securitycenter.v2.SecurityPolicy.decode(reader, reader.uint32()); + message.securityPolicy = $root.google.cloud.securitycenter.v2.SecurityPolicy.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.requests = $root.google.cloud.securitycenter.v2.Requests.decode(reader, reader.uint32()); + message.requests = $root.google.cloud.securitycenter.v2.Requests.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.adaptiveProtection = $root.google.cloud.securitycenter.v2.AdaptiveProtection.decode(reader, reader.uint32()); + message.adaptiveProtection = $root.google.cloud.securitycenter.v2.AdaptiveProtection.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.attack = $root.google.cloud.securitycenter.v2.Attack.decode(reader, reader.uint32()); + message.attack = $root.google.cloud.securitycenter.v2.Attack.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -89898,11 +93519,11 @@ break; } case 6: { - message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -89933,26 +93554,30 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CloudArmor.verify = function verify(message) { + CloudArmor.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.securityPolicy != null && message.hasOwnProperty("securityPolicy")) { - var error = $root.google.cloud.securitycenter.v2.SecurityPolicy.verify(message.securityPolicy); + var error = $root.google.cloud.securitycenter.v2.SecurityPolicy.verify(message.securityPolicy, long + 1); if (error) return "securityPolicy." + error; } if (message.requests != null && message.hasOwnProperty("requests")) { - var error = $root.google.cloud.securitycenter.v2.Requests.verify(message.requests); + var error = $root.google.cloud.securitycenter.v2.Requests.verify(message.requests, long + 1); if (error) return "requests." + error; } if (message.adaptiveProtection != null && message.hasOwnProperty("adaptiveProtection")) { - var error = $root.google.cloud.securitycenter.v2.AdaptiveProtection.verify(message.adaptiveProtection); + var error = $root.google.cloud.securitycenter.v2.AdaptiveProtection.verify(message.adaptiveProtection, long + 1); if (error) return "adaptiveProtection." + error; } if (message.attack != null && message.hasOwnProperty("attack")) { - var error = $root.google.cloud.securitycenter.v2.Attack.verify(message.attack); + var error = $root.google.cloud.securitycenter.v2.Attack.verify(message.attack, long + 1); if (error) return "attack." + error; } @@ -89960,7 +93585,7 @@ if (!$util.isString(message.threatVector)) return "threatVector: string expected"; if (message.duration != null && message.hasOwnProperty("duration")) { - var error = $root.google.protobuf.Duration.verify(message.duration); + var error = $root.google.protobuf.Duration.verify(message.duration, long + 1); if (error) return "duration." + error; } @@ -89975,36 +93600,40 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.CloudArmor} CloudArmor */ - CloudArmor.fromObject = function fromObject(object) { + CloudArmor.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.CloudArmor) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.CloudArmor(); if (object.securityPolicy != null) { if (typeof object.securityPolicy !== "object") throw TypeError(".google.cloud.securitycenter.v2.CloudArmor.securityPolicy: object expected"); - message.securityPolicy = $root.google.cloud.securitycenter.v2.SecurityPolicy.fromObject(object.securityPolicy); + message.securityPolicy = $root.google.cloud.securitycenter.v2.SecurityPolicy.fromObject(object.securityPolicy, long + 1); } if (object.requests != null) { if (typeof object.requests !== "object") throw TypeError(".google.cloud.securitycenter.v2.CloudArmor.requests: object expected"); - message.requests = $root.google.cloud.securitycenter.v2.Requests.fromObject(object.requests); + message.requests = $root.google.cloud.securitycenter.v2.Requests.fromObject(object.requests, long + 1); } if (object.adaptiveProtection != null) { if (typeof object.adaptiveProtection !== "object") throw TypeError(".google.cloud.securitycenter.v2.CloudArmor.adaptiveProtection: object expected"); - message.adaptiveProtection = $root.google.cloud.securitycenter.v2.AdaptiveProtection.fromObject(object.adaptiveProtection); + message.adaptiveProtection = $root.google.cloud.securitycenter.v2.AdaptiveProtection.fromObject(object.adaptiveProtection, long + 1); } if (object.attack != null) { if (typeof object.attack !== "object") throw TypeError(".google.cloud.securitycenter.v2.CloudArmor.attack: object expected"); - message.attack = $root.google.cloud.securitycenter.v2.Attack.fromObject(object.attack); + message.attack = $root.google.cloud.securitycenter.v2.Attack.fromObject(object.attack, long + 1); } if (object.threatVector != null) message.threatVector = String(object.threatVector); if (object.duration != null) { if (typeof object.duration !== "object") throw TypeError(".google.cloud.securitycenter.v2.CloudArmor.duration: object expected"); - message.duration = $root.google.protobuf.Duration.fromObject(object.duration); + message.duration = $root.google.protobuf.Duration.fromObject(object.duration, long + 1); } return message; }; @@ -90096,7 +93725,7 @@ function SecurityPolicy(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -90181,9 +93810,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityPolicy.decode = function decode(reader, length, error) { + SecurityPolicy.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.SecurityPolicy(); while (reader.pos < end) { var tag = reader.uint32(); @@ -90203,7 +93836,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -90234,9 +93867,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityPolicy.verify = function verify(message) { + SecurityPolicy.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -90257,9 +93894,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.SecurityPolicy} SecurityPolicy */ - SecurityPolicy.fromObject = function fromObject(object) { + SecurityPolicy.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.SecurityPolicy) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.SecurityPolicy(); if (object.name != null) message.name = String(object.name); @@ -90349,7 +93990,7 @@ function Requests(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -90444,9 +94085,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Requests.decode = function decode(reader, length, error) { + Requests.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Requests(); while (reader.pos < end) { var tag = reader.uint32(); @@ -90470,7 +94115,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -90501,9 +94146,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Requests.verify = function verify(message) { + Requests.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ratio != null && message.hasOwnProperty("ratio")) if (typeof message.ratio !== "number") return "ratio: number expected"; @@ -90527,9 +94176,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Requests} Requests */ - Requests.fromObject = function fromObject(object) { + Requests.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Requests) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Requests(); if (object.ratio != null) message.ratio = Number(object.ratio); @@ -90621,7 +94274,7 @@ function AdaptiveProtection(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -90686,9 +94339,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdaptiveProtection.decode = function decode(reader, length, error) { + AdaptiveProtection.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AdaptiveProtection(); while (reader.pos < end) { var tag = reader.uint32(); @@ -90700,7 +94357,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -90731,9 +94388,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AdaptiveProtection.verify = function verify(message) { + AdaptiveProtection.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.confidence != null && message.hasOwnProperty("confidence")) if (typeof message.confidence !== "number") return "confidence: number expected"; @@ -90748,9 +94409,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AdaptiveProtection} AdaptiveProtection */ - AdaptiveProtection.fromObject = function fromObject(object) { + AdaptiveProtection.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AdaptiveProtection) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AdaptiveProtection(); if (object.confidence != null) message.confidence = Number(object.confidence); @@ -90830,7 +94495,7 @@ function Attack(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -90935,9 +94600,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Attack.decode = function decode(reader, length, error) { + Attack.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Attack(); while (reader.pos < end) { var tag = reader.uint32(); @@ -90965,7 +94634,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -90996,9 +94665,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Attack.verify = function verify(message) { + Attack.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.volumePpsLong != null && message.hasOwnProperty("volumePpsLong")) if (!$util.isInteger(message.volumePpsLong) && !(message.volumePpsLong && $util.isInteger(message.volumePpsLong.low) && $util.isInteger(message.volumePpsLong.high))) return "volumePpsLong: integer|Long expected"; @@ -91025,9 +94698,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Attack} Attack */ - Attack.fromObject = function fromObject(object) { + Attack.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Attack) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Attack(); if (object.volumePpsLong != null) if ($util.Long) @@ -91153,7 +94830,7 @@ function CloudDlpDataProfile(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -91228,9 +94905,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CloudDlpDataProfile.decode = function decode(reader, length, error) { + CloudDlpDataProfile.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.CloudDlpDataProfile(); while (reader.pos < end) { var tag = reader.uint32(); @@ -91246,7 +94927,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -91277,9 +94958,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CloudDlpDataProfile.verify = function verify(message) { + CloudDlpDataProfile.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.dataProfile != null && message.hasOwnProperty("dataProfile")) if (!$util.isString(message.dataProfile)) return "dataProfile: string expected"; @@ -91303,9 +94988,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.CloudDlpDataProfile} CloudDlpDataProfile */ - CloudDlpDataProfile.fromObject = function fromObject(object) { + CloudDlpDataProfile.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.CloudDlpDataProfile) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.CloudDlpDataProfile(); if (object.dataProfile != null) message.dataProfile = String(object.dataProfile); @@ -91424,7 +95113,7 @@ function CloudDlpInspection(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -91519,9 +95208,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CloudDlpInspection.decode = function decode(reader, length, error) { + CloudDlpInspection.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.CloudDlpInspection(); while (reader.pos < end) { var tag = reader.uint32(); @@ -91545,7 +95238,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -91576,9 +95269,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CloudDlpInspection.verify = function verify(message) { + CloudDlpInspection.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.inspectJob != null && message.hasOwnProperty("inspectJob")) if (!$util.isString(message.inspectJob)) return "inspectJob: string expected"; @@ -91602,9 +95299,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.CloudDlpInspection} CloudDlpInspection */ - CloudDlpInspection.fromObject = function fromObject(object) { + CloudDlpInspection.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.CloudDlpInspection) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.CloudDlpInspection(); if (object.inspectJob != null) message.inspectJob = String(object.inspectJob); @@ -91713,7 +95414,7 @@ this.ids = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -91799,9 +95500,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Compliance.decode = function decode(reader, length, error) { + Compliance.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Compliance(); while (reader.pos < end) { var tag = reader.uint32(); @@ -91823,7 +95528,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -91854,9 +95559,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Compliance.verify = function verify(message) { + Compliance.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.standard != null && message.hasOwnProperty("standard")) if (!$util.isString(message.standard)) return "standard: string expected"; @@ -91881,9 +95590,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Compliance} Compliance */ - Compliance.fromObject = function fromObject(object) { + Compliance.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Compliance) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Compliance(); if (object.standard != null) message.standard = String(object.standard); @@ -91983,7 +95696,7 @@ function Connection(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -92088,9 +95801,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Connection.decode = function decode(reader, length, error) { + Connection.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Connection(); while (reader.pos < end) { var tag = reader.uint32(); @@ -92118,7 +95835,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -92149,9 +95866,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Connection.verify = function verify(message) { + Connection.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.destinationIp != null && message.hasOwnProperty("destinationIp")) if (!$util.isString(message.destinationIp)) return "destinationIp: string expected"; @@ -92187,9 +95908,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Connection} Connection */ - Connection.fromObject = function fromObject(object) { + Connection.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Connection) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Connection(); if (object.destinationIp != null) message.destinationIp = String(object.destinationIp); @@ -92339,7 +96064,7 @@ this.contacts = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -92405,9 +96130,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContactDetails.decode = function decode(reader, length, error) { + ContactDetails.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ContactDetails(); while (reader.pos < end) { var tag = reader.uint32(); @@ -92417,11 +96146,11 @@ case 1: { if (!(message.contacts && message.contacts.length)) message.contacts = []; - message.contacts.push($root.google.cloud.securitycenter.v2.Contact.decode(reader, reader.uint32())); + message.contacts.push($root.google.cloud.securitycenter.v2.Contact.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -92452,14 +96181,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ContactDetails.verify = function verify(message) { + ContactDetails.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.contacts != null && message.hasOwnProperty("contacts")) { if (!Array.isArray(message.contacts)) return "contacts: array expected"; for (var i = 0; i < message.contacts.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Contact.verify(message.contacts[i]); + var error = $root.google.cloud.securitycenter.v2.Contact.verify(message.contacts[i], long + 1); if (error) return "contacts." + error; } @@ -92475,9 +96208,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ContactDetails} ContactDetails */ - ContactDetails.fromObject = function fromObject(object) { + ContactDetails.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ContactDetails) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ContactDetails(); if (object.contacts) { if (!Array.isArray(object.contacts)) @@ -92486,7 +96223,7 @@ for (var i = 0; i < object.contacts.length; ++i) { if (typeof object.contacts[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.ContactDetails.contacts: object expected"); - message.contacts[i] = $root.google.cloud.securitycenter.v2.Contact.fromObject(object.contacts[i]); + message.contacts[i] = $root.google.cloud.securitycenter.v2.Contact.fromObject(object.contacts[i], long + 1); } } return message; @@ -92564,7 +96301,7 @@ function Contact(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -92629,9 +96366,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Contact.decode = function decode(reader, length, error) { + Contact.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Contact(); while (reader.pos < end) { var tag = reader.uint32(); @@ -92643,7 +96384,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -92674,9 +96415,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Contact.verify = function verify(message) { + Contact.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.email != null && message.hasOwnProperty("email")) if (!$util.isString(message.email)) return "email: string expected"; @@ -92691,9 +96436,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Contact} Contact */ - Contact.fromObject = function fromObject(object) { + Contact.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Contact) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Contact(); if (object.email != null) message.email = String(object.email); @@ -92774,7 +96523,7 @@ this.labels = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -92880,9 +96629,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Container.decode = function decode(reader, length, error) { + Container.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Container(); while (reader.pos < end) { var tag = reader.uint32(); @@ -92904,15 +96657,15 @@ case 4: { if (!(message.labels && message.labels.length)) message.labels = []; - message.labels.push($root.google.cloud.securitycenter.v2.Label.decode(reader, reader.uint32())); + message.labels.push($root.google.cloud.securitycenter.v2.Label.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -92943,9 +96696,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Container.verify = function verify(message) { + Container.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -92959,13 +96716,13 @@ if (!Array.isArray(message.labels)) return "labels: array expected"; for (var i = 0; i < message.labels.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Label.verify(message.labels[i]); + var error = $root.google.cloud.securitycenter.v2.Label.verify(message.labels[i], long + 1); if (error) return "labels." + error; } } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } @@ -92980,9 +96737,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Container} Container */ - Container.fromObject = function fromObject(object) { + Container.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Container) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Container(); if (object.name != null) message.name = String(object.name); @@ -92997,13 +96758,13 @@ for (var i = 0; i < object.labels.length; ++i) { if (typeof object.labels[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Container.labels: object expected"); - message.labels[i] = $root.google.cloud.securitycenter.v2.Label.fromObject(object.labels[i]); + message.labels[i] = $root.google.cloud.securitycenter.v2.Label.fromObject(object.labels[i], long + 1); } } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.Container.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } return message; }; @@ -93095,7 +96856,7 @@ function Label(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -93170,9 +96931,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Label.decode = function decode(reader, length, error) { + Label.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Label(); while (reader.pos < end) { var tag = reader.uint32(); @@ -93188,7 +96953,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -93219,9 +96984,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Label.verify = function verify(message) { + Label.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -93239,9 +97008,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Label} Label */ - Label.fromObject = function fromObject(object) { + Label.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Label) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Label(); if (object.name != null) message.name = String(object.name); @@ -93326,7 +97099,7 @@ function DataAccessEvent(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -93421,9 +97194,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataAccessEvent.decode = function decode(reader, length, error) { + DataAccessEvent.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.DataAccessEvent(); while (reader.pos < end) { var tag = reader.uint32(); @@ -93443,11 +97220,11 @@ break; } case 4: { - message.eventTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.eventTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -93478,9 +97255,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DataAccessEvent.verify = function verify(message) { + DataAccessEvent.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.eventId != null && message.hasOwnProperty("eventId")) if (!$util.isString(message.eventId)) return "eventId: string expected"; @@ -93498,7 +97279,7 @@ break; } if (message.eventTime != null && message.hasOwnProperty("eventTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.eventTime); + var error = $root.google.protobuf.Timestamp.verify(message.eventTime, long + 1); if (error) return "eventTime." + error; } @@ -93513,9 +97294,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.DataAccessEvent} DataAccessEvent */ - DataAccessEvent.fromObject = function fromObject(object) { + DataAccessEvent.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.DataAccessEvent) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.DataAccessEvent(); if (object.eventId != null) message.eventId = String(object.eventId); @@ -93548,7 +97333,7 @@ if (object.eventTime != null) { if (typeof object.eventTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.DataAccessEvent.eventTime: object expected"); - message.eventTime = $root.google.protobuf.Timestamp.fromObject(object.eventTime); + message.eventTime = $root.google.protobuf.Timestamp.fromObject(object.eventTime, long + 1); } return message; }; @@ -93654,7 +97439,7 @@ function DataFlowEvent(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -93759,9 +97544,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataFlowEvent.decode = function decode(reader, length, error) { + DataFlowEvent.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.DataFlowEvent(); while (reader.pos < end) { var tag = reader.uint32(); @@ -93785,11 +97574,11 @@ break; } case 5: { - message.eventTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.eventTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -93820,9 +97609,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DataFlowEvent.verify = function verify(message) { + DataFlowEvent.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.eventId != null && message.hasOwnProperty("eventId")) if (!$util.isString(message.eventId)) return "eventId: string expected"; @@ -93843,7 +97636,7 @@ if (!$util.isString(message.violatedLocation)) return "violatedLocation: string expected"; if (message.eventTime != null && message.hasOwnProperty("eventTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.eventTime); + var error = $root.google.protobuf.Timestamp.verify(message.eventTime, long + 1); if (error) return "eventTime." + error; } @@ -93858,9 +97651,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.DataFlowEvent} DataFlowEvent */ - DataFlowEvent.fromObject = function fromObject(object) { + DataFlowEvent.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.DataFlowEvent) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.DataFlowEvent(); if (object.eventId != null) message.eventId = String(object.eventId); @@ -93895,7 +97692,7 @@ if (object.eventTime != null) { if (typeof object.eventTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.DataFlowEvent.eventTime: object expected"); - message.eventTime = $root.google.protobuf.Timestamp.fromObject(object.eventTime); + message.eventTime = $root.google.protobuf.Timestamp.fromObject(object.eventTime, long + 1); } return message; }; @@ -94003,7 +97800,7 @@ function DataRetentionDeletionEvent(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -94098,9 +97895,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataRetentionDeletionEvent.decode = function decode(reader, length, error) { + DataRetentionDeletionEvent.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.DataRetentionDeletionEvent(); while (reader.pos < end) { var tag = reader.uint32(); @@ -94108,7 +97909,7 @@ break; switch (tag >>> 3) { case 2: { - message.eventDetectionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.eventDetectionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -94116,7 +97917,7 @@ break; } case 4: { - message.maxRetentionAllowed = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.maxRetentionAllowed = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -94124,7 +97925,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -94155,11 +97956,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DataRetentionDeletionEvent.verify = function verify(message) { + DataRetentionDeletionEvent.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.eventDetectionTime != null && message.hasOwnProperty("eventDetectionTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.eventDetectionTime); + var error = $root.google.protobuf.Timestamp.verify(message.eventDetectionTime, long + 1); if (error) return "eventDetectionTime." + error; } @@ -94167,7 +97972,7 @@ if (!$util.isInteger(message.dataObjectCount) && !(message.dataObjectCount && $util.isInteger(message.dataObjectCount.low) && $util.isInteger(message.dataObjectCount.high))) return "dataObjectCount: integer|Long expected"; if (message.maxRetentionAllowed != null && message.hasOwnProperty("maxRetentionAllowed")) { - var error = $root.google.protobuf.Duration.verify(message.maxRetentionAllowed); + var error = $root.google.protobuf.Duration.verify(message.maxRetentionAllowed, long + 1); if (error) return "maxRetentionAllowed." + error; } @@ -94190,14 +97995,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.DataRetentionDeletionEvent} DataRetentionDeletionEvent */ - DataRetentionDeletionEvent.fromObject = function fromObject(object) { + DataRetentionDeletionEvent.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.DataRetentionDeletionEvent) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.DataRetentionDeletionEvent(); if (object.eventDetectionTime != null) { if (typeof object.eventDetectionTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.DataRetentionDeletionEvent.eventDetectionTime: object expected"); - message.eventDetectionTime = $root.google.protobuf.Timestamp.fromObject(object.eventDetectionTime); + message.eventDetectionTime = $root.google.protobuf.Timestamp.fromObject(object.eventDetectionTime, long + 1); } if (object.dataObjectCount != null) if ($util.Long) @@ -94211,7 +98020,7 @@ if (object.maxRetentionAllowed != null) { if (typeof object.maxRetentionAllowed !== "object") throw TypeError(".google.cloud.securitycenter.v2.DataRetentionDeletionEvent.maxRetentionAllowed: object expected"); - message.maxRetentionAllowed = $root.google.protobuf.Duration.fromObject(object.maxRetentionAllowed); + message.maxRetentionAllowed = $root.google.protobuf.Duration.fromObject(object.maxRetentionAllowed, long + 1); } switch (object.eventType) { default: @@ -94338,7 +98147,7 @@ this.grantees = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -94454,9 +98263,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Database.decode = function decode(reader, length, error) { + Database.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Database(); while (reader.pos < end) { var tag = reader.uint32(); @@ -94490,7 +98303,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -94521,9 +98334,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Database.verify = function verify(message) { + Database.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -94557,9 +98374,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Database} Database */ - Database.fromObject = function fromObject(object) { + Database.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Database) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Database(); if (object.name != null) message.name = String(object.name); @@ -94670,7 +98491,7 @@ function Disk(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -94735,9 +98556,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Disk.decode = function decode(reader, length, error) { + Disk.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Disk(); while (reader.pos < end) { var tag = reader.uint32(); @@ -94749,7 +98574,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -94780,9 +98605,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Disk.verify = function verify(message) { + Disk.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -94797,9 +98626,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Disk} Disk */ - Disk.fromObject = function fromObject(object) { + Disk.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Disk) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Disk(); if (object.name != null) message.name = String(object.name); @@ -94879,7 +98712,7 @@ this.targets = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -94966,9 +98799,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Exfiltration.decode = function decode(reader, length, error) { + Exfiltration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Exfiltration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -94978,13 +98815,13 @@ case 1: { if (!(message.sources && message.sources.length)) message.sources = []; - message.sources.push($root.google.cloud.securitycenter.v2.ExfilResource.decode(reader, reader.uint32())); + message.sources.push($root.google.cloud.securitycenter.v2.ExfilResource.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.targets && message.targets.length)) message.targets = []; - message.targets.push($root.google.cloud.securitycenter.v2.ExfilResource.decode(reader, reader.uint32())); + message.targets.push($root.google.cloud.securitycenter.v2.ExfilResource.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -94992,7 +98829,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -95023,14 +98860,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Exfiltration.verify = function verify(message) { + Exfiltration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.sources != null && message.hasOwnProperty("sources")) { if (!Array.isArray(message.sources)) return "sources: array expected"; for (var i = 0; i < message.sources.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.ExfilResource.verify(message.sources[i]); + var error = $root.google.cloud.securitycenter.v2.ExfilResource.verify(message.sources[i], long + 1); if (error) return "sources." + error; } @@ -95039,7 +98880,7 @@ if (!Array.isArray(message.targets)) return "targets: array expected"; for (var i = 0; i < message.targets.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.ExfilResource.verify(message.targets[i]); + var error = $root.google.cloud.securitycenter.v2.ExfilResource.verify(message.targets[i], long + 1); if (error) return "targets." + error; } @@ -95058,9 +98899,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Exfiltration} Exfiltration */ - Exfiltration.fromObject = function fromObject(object) { + Exfiltration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Exfiltration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Exfiltration(); if (object.sources) { if (!Array.isArray(object.sources)) @@ -95069,7 +98914,7 @@ for (var i = 0; i < object.sources.length; ++i) { if (typeof object.sources[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Exfiltration.sources: object expected"); - message.sources[i] = $root.google.cloud.securitycenter.v2.ExfilResource.fromObject(object.sources[i]); + message.sources[i] = $root.google.cloud.securitycenter.v2.ExfilResource.fromObject(object.sources[i], long + 1); } } if (object.targets) { @@ -95079,7 +98924,7 @@ for (var i = 0; i < object.targets.length; ++i) { if (typeof object.targets[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Exfiltration.targets: object expected"); - message.targets[i] = $root.google.cloud.securitycenter.v2.ExfilResource.fromObject(object.targets[i]); + message.targets[i] = $root.google.cloud.securitycenter.v2.ExfilResource.fromObject(object.targets[i], long + 1); } } if (object.totalExfiltratedBytes != null) @@ -95186,7 +99031,7 @@ this.components = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -95262,9 +99107,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExfilResource.decode = function decode(reader, length, error) { + ExfilResource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ExfilResource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -95282,7 +99131,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -95313,9 +99162,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExfilResource.verify = function verify(message) { + ExfilResource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -95337,9 +99190,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ExfilResource} ExfilResource */ - ExfilResource.fromObject = function fromObject(object) { + ExfilResource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ExfilResource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ExfilResource(); if (object.name != null) message.name = String(object.name); @@ -95440,7 +99297,7 @@ this.assignees = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -95606,9 +99463,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExternalSystem.decode = function decode(reader, length, error) { + ExternalSystem.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ExternalSystem(); while (reader.pos < end) { var tag = reader.uint32(); @@ -95634,7 +99495,7 @@ break; } case 5: { - message.externalSystemUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.externalSystemUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { @@ -95646,23 +99507,23 @@ break; } case 9: { - message.caseSla = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.caseSla = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { - message.caseCreateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.caseCreateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 11: { - message.caseCloseTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.caseCloseTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { - message.ticketInfo = $root.google.cloud.securitycenter.v2.ExternalSystem.TicketInfo.decode(reader, reader.uint32()); + message.ticketInfo = $root.google.cloud.securitycenter.v2.ExternalSystem.TicketInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -95693,9 +99554,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExternalSystem.verify = function verify(message) { + ExternalSystem.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -95713,7 +99578,7 @@ if (!$util.isString(message.status)) return "status: string expected"; if (message.externalSystemUpdateTime != null && message.hasOwnProperty("externalSystemUpdateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.externalSystemUpdateTime); + var error = $root.google.protobuf.Timestamp.verify(message.externalSystemUpdateTime, long + 1); if (error) return "externalSystemUpdateTime." + error; } @@ -95724,22 +99589,22 @@ if (!$util.isString(message.casePriority)) return "casePriority: string expected"; if (message.caseSla != null && message.hasOwnProperty("caseSla")) { - var error = $root.google.protobuf.Timestamp.verify(message.caseSla); + var error = $root.google.protobuf.Timestamp.verify(message.caseSla, long + 1); if (error) return "caseSla." + error; } if (message.caseCreateTime != null && message.hasOwnProperty("caseCreateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.caseCreateTime); + var error = $root.google.protobuf.Timestamp.verify(message.caseCreateTime, long + 1); if (error) return "caseCreateTime." + error; } if (message.caseCloseTime != null && message.hasOwnProperty("caseCloseTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.caseCloseTime); + var error = $root.google.protobuf.Timestamp.verify(message.caseCloseTime, long + 1); if (error) return "caseCloseTime." + error; } if (message.ticketInfo != null && message.hasOwnProperty("ticketInfo")) { - var error = $root.google.cloud.securitycenter.v2.ExternalSystem.TicketInfo.verify(message.ticketInfo); + var error = $root.google.cloud.securitycenter.v2.ExternalSystem.TicketInfo.verify(message.ticketInfo, long + 1); if (error) return "ticketInfo." + error; } @@ -95754,9 +99619,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ExternalSystem} ExternalSystem */ - ExternalSystem.fromObject = function fromObject(object) { + ExternalSystem.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ExternalSystem) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ExternalSystem(); if (object.name != null) message.name = String(object.name); @@ -95774,7 +99643,7 @@ if (object.externalSystemUpdateTime != null) { if (typeof object.externalSystemUpdateTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.ExternalSystem.externalSystemUpdateTime: object expected"); - message.externalSystemUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.externalSystemUpdateTime); + message.externalSystemUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.externalSystemUpdateTime, long + 1); } if (object.caseUri != null) message.caseUri = String(object.caseUri); @@ -95783,22 +99652,22 @@ if (object.caseSla != null) { if (typeof object.caseSla !== "object") throw TypeError(".google.cloud.securitycenter.v2.ExternalSystem.caseSla: object expected"); - message.caseSla = $root.google.protobuf.Timestamp.fromObject(object.caseSla); + message.caseSla = $root.google.protobuf.Timestamp.fromObject(object.caseSla, long + 1); } if (object.caseCreateTime != null) { if (typeof object.caseCreateTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.ExternalSystem.caseCreateTime: object expected"); - message.caseCreateTime = $root.google.protobuf.Timestamp.fromObject(object.caseCreateTime); + message.caseCreateTime = $root.google.protobuf.Timestamp.fromObject(object.caseCreateTime, long + 1); } if (object.caseCloseTime != null) { if (typeof object.caseCloseTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.ExternalSystem.caseCloseTime: object expected"); - message.caseCloseTime = $root.google.protobuf.Timestamp.fromObject(object.caseCloseTime); + message.caseCloseTime = $root.google.protobuf.Timestamp.fromObject(object.caseCloseTime, long + 1); } if (object.ticketInfo != null) { if (typeof object.ticketInfo !== "object") throw TypeError(".google.cloud.securitycenter.v2.ExternalSystem.ticketInfo: object expected"); - message.ticketInfo = $root.google.cloud.securitycenter.v2.ExternalSystem.TicketInfo.fromObject(object.ticketInfo); + message.ticketInfo = $root.google.cloud.securitycenter.v2.ExternalSystem.TicketInfo.fromObject(object.ticketInfo, long + 1); } return message; }; @@ -95909,7 +99778,7 @@ function TicketInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -96024,9 +99893,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TicketInfo.decode = function decode(reader, length, error) { + TicketInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ExternalSystem.TicketInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -96054,11 +99927,11 @@ break; } case 6: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -96089,9 +99962,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TicketInfo.verify = function verify(message) { + TicketInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -96108,7 +99985,7 @@ if (!$util.isString(message.status)) return "status: string expected"; if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -96123,9 +100000,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ExternalSystem.TicketInfo} TicketInfo */ - TicketInfo.fromObject = function fromObject(object) { + TicketInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ExternalSystem.TicketInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ExternalSystem.TicketInfo(); if (object.id != null) message.id = String(object.id); @@ -96140,7 +100021,7 @@ if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.ExternalSystem.TicketInfo.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } return message; }; @@ -96241,7 +100122,7 @@ this.operations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -96377,9 +100258,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - File.decode = function decode(reader, length, error) { + File.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.File(); while (reader.pos < end) { var tag = reader.uint32(); @@ -96411,17 +100296,17 @@ break; } case 7: { - message.diskPath = $root.google.cloud.securitycenter.v2.File.DiskPath.decode(reader, reader.uint32()); + message.diskPath = $root.google.cloud.securitycenter.v2.File.DiskPath.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { if (!(message.operations && message.operations.length)) message.operations = []; - message.operations.push($root.google.cloud.securitycenter.v2.File.FileOperation.decode(reader, reader.uint32())); + message.operations.push($root.google.cloud.securitycenter.v2.File.FileOperation.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -96452,9 +100337,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - File.verify = function verify(message) { + File.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.path != null && message.hasOwnProperty("path")) if (!$util.isString(message.path)) return "path: string expected"; @@ -96474,7 +100363,7 @@ if (!$util.isString(message.contents)) return "contents: string expected"; if (message.diskPath != null && message.hasOwnProperty("diskPath")) { - var error = $root.google.cloud.securitycenter.v2.File.DiskPath.verify(message.diskPath); + var error = $root.google.cloud.securitycenter.v2.File.DiskPath.verify(message.diskPath, long + 1); if (error) return "diskPath." + error; } @@ -96482,7 +100371,7 @@ if (!Array.isArray(message.operations)) return "operations: array expected"; for (var i = 0; i < message.operations.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.File.FileOperation.verify(message.operations[i]); + var error = $root.google.cloud.securitycenter.v2.File.FileOperation.verify(message.operations[i], long + 1); if (error) return "operations." + error; } @@ -96498,9 +100387,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.File} File */ - File.fromObject = function fromObject(object) { + File.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.File) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.File(); if (object.path != null) message.path = String(object.path); @@ -96531,7 +100424,7 @@ if (object.diskPath != null) { if (typeof object.diskPath !== "object") throw TypeError(".google.cloud.securitycenter.v2.File.diskPath: object expected"); - message.diskPath = $root.google.cloud.securitycenter.v2.File.DiskPath.fromObject(object.diskPath); + message.diskPath = $root.google.cloud.securitycenter.v2.File.DiskPath.fromObject(object.diskPath, long + 1); } if (object.operations) { if (!Array.isArray(object.operations)) @@ -96540,7 +100433,7 @@ for (var i = 0; i < object.operations.length; ++i) { if (typeof object.operations[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.File.operations: object expected"); - message.operations[i] = $root.google.cloud.securitycenter.v2.File.FileOperation.fromObject(object.operations[i]); + message.operations[i] = $root.google.cloud.securitycenter.v2.File.FileOperation.fromObject(object.operations[i], long + 1); } } return message; @@ -96653,7 +100546,7 @@ function DiskPath(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -96728,9 +100621,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DiskPath.decode = function decode(reader, length, error) { + DiskPath.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.File.DiskPath(); while (reader.pos < end) { var tag = reader.uint32(); @@ -96746,7 +100643,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -96777,9 +100674,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DiskPath.verify = function verify(message) { + DiskPath.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.partitionUuid != null && message.hasOwnProperty("partitionUuid")) if (!$util.isString(message.partitionUuid)) return "partitionUuid: string expected"; @@ -96797,9 +100698,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.File.DiskPath} DiskPath */ - DiskPath.fromObject = function fromObject(object) { + DiskPath.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.File.DiskPath) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.File.DiskPath(); if (object.partitionUuid != null) message.partitionUuid = String(object.partitionUuid); @@ -96881,7 +100786,7 @@ function FileOperation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -96946,9 +100851,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOperation.decode = function decode(reader, length, error) { + FileOperation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.File.FileOperation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -96960,7 +100869,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -96991,9 +100900,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileOperation.verify = function verify(message) { + FileOperation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) switch (message.type) { default: @@ -97017,9 +100930,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.File.FileOperation} FileOperation */ - FileOperation.fromObject = function fromObject(object) { + FileOperation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.File.FileOperation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.File.FileOperation(); switch (object.type) { default: @@ -97227,7 +101144,7 @@ this.dataRetentionDeletionEvents = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -97915,9 +101832,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Finding.decode = function decode(reader, length, error) { + Finding.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Finding(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -97965,26 +101886,28 @@ key = reader.string(); break; case 2: - value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.sourceProperties, key); message.sourceProperties[key] = value; break; } case 10: { - message.securityMarks = $root.google.cloud.securitycenter.v2.SecurityMarks.decode(reader, reader.uint32()); + message.securityMarks = $root.google.cloud.securitycenter.v2.SecurityMarks.decode(reader, reader.uint32(), undefined, long + 1); break; } case 11: { - message.eventTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.eventTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 12: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 14: { @@ -97996,7 +101919,7 @@ break; } case 53: { - message.muteInfo = $root.google.cloud.securitycenter.v2.Finding.MuteInfo.decode(reader, reader.uint32()); + message.muteInfo = $root.google.cloud.securitycenter.v2.Finding.MuteInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } case 16: { @@ -98004,15 +101927,15 @@ break; } case 17: { - message.indicator = $root.google.cloud.securitycenter.v2.Indicator.decode(reader, reader.uint32()); + message.indicator = $root.google.cloud.securitycenter.v2.Indicator.decode(reader, reader.uint32(), undefined, long + 1); break; } case 18: { - message.vulnerability = $root.google.cloud.securitycenter.v2.Vulnerability.decode(reader, reader.uint32()); + message.vulnerability = $root.google.cloud.securitycenter.v2.Vulnerability.decode(reader, reader.uint32(), undefined, long + 1); break; } case 19: { - message.muteUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.muteUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 20: { @@ -98028,28 +101951,30 @@ key = reader.string(); break; case 2: - value = $root.google.cloud.securitycenter.v2.ExternalSystem.decode(reader, reader.uint32()); + value = $root.google.cloud.securitycenter.v2.ExternalSystem.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.externalSystems, key); message.externalSystems[key] = value; break; } case 21: { - message.mitreAttack = $root.google.cloud.securitycenter.v2.MitreAttack.decode(reader, reader.uint32()); + message.mitreAttack = $root.google.cloud.securitycenter.v2.MitreAttack.decode(reader, reader.uint32(), undefined, long + 1); break; } case 22: { - message.access = $root.google.cloud.securitycenter.v2.Access.decode(reader, reader.uint32()); + message.access = $root.google.cloud.securitycenter.v2.Access.decode(reader, reader.uint32(), undefined, long + 1); break; } case 23: { if (!(message.connections && message.connections.length)) message.connections = []; - message.connections.push($root.google.cloud.securitycenter.v2.Connection.decode(reader, reader.uint32())); + message.connections.push($root.google.cloud.securitycenter.v2.Connection.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 24: { @@ -98059,7 +101984,7 @@ case 25: { if (!(message.processes && message.processes.length)) message.processes = []; - message.processes.push($root.google.cloud.securitycenter.v2.Process.decode(reader, reader.uint32())); + message.processes.push($root.google.cloud.securitycenter.v2.Process.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 26: { @@ -98075,20 +102000,22 @@ key = reader.string(); break; case 2: - value = $root.google.cloud.securitycenter.v2.ContactDetails.decode(reader, reader.uint32()); + value = $root.google.cloud.securitycenter.v2.ContactDetails.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.contacts, key); message.contacts[key] = value; break; } case 27: { if (!(message.compliances && message.compliances.length)) message.compliances = []; - message.compliances.push($root.google.cloud.securitycenter.v2.Compliance.decode(reader, reader.uint32())); + message.compliances.push($root.google.cloud.securitycenter.v2.Compliance.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 29: { @@ -98100,13 +102027,13 @@ break; } case 31: { - message.exfiltration = $root.google.cloud.securitycenter.v2.Exfiltration.decode(reader, reader.uint32()); + message.exfiltration = $root.google.cloud.securitycenter.v2.Exfiltration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 32: { if (!(message.iamBindings && message.iamBindings.length)) message.iamBindings = []; - message.iamBindings.push($root.google.cloud.securitycenter.v2.IamBinding.decode(reader, reader.uint32())); + message.iamBindings.push($root.google.cloud.securitycenter.v2.IamBinding.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 33: { @@ -98120,141 +102047,141 @@ case 35: { if (!(message.containers && message.containers.length)) message.containers = []; - message.containers.push($root.google.cloud.securitycenter.v2.Container.decode(reader, reader.uint32())); + message.containers.push($root.google.cloud.securitycenter.v2.Container.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 36: { - message.kubernetes = $root.google.cloud.securitycenter.v2.Kubernetes.decode(reader, reader.uint32()); + message.kubernetes = $root.google.cloud.securitycenter.v2.Kubernetes.decode(reader, reader.uint32(), undefined, long + 1); break; } case 37: { - message.database = $root.google.cloud.securitycenter.v2.Database.decode(reader, reader.uint32()); + message.database = $root.google.cloud.securitycenter.v2.Database.decode(reader, reader.uint32(), undefined, long + 1); break; } case 38: { - message.attackExposure = $root.google.cloud.securitycenter.v2.AttackExposure.decode(reader, reader.uint32()); + message.attackExposure = $root.google.cloud.securitycenter.v2.AttackExposure.decode(reader, reader.uint32(), undefined, long + 1); break; } case 39: { if (!(message.files && message.files.length)) message.files = []; - message.files.push($root.google.cloud.securitycenter.v2.File.decode(reader, reader.uint32())); + message.files.push($root.google.cloud.securitycenter.v2.File.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 40: { - message.cloudDlpInspection = $root.google.cloud.securitycenter.v2.CloudDlpInspection.decode(reader, reader.uint32()); + message.cloudDlpInspection = $root.google.cloud.securitycenter.v2.CloudDlpInspection.decode(reader, reader.uint32(), undefined, long + 1); break; } case 41: { - message.cloudDlpDataProfile = $root.google.cloud.securitycenter.v2.CloudDlpDataProfile.decode(reader, reader.uint32()); + message.cloudDlpDataProfile = $root.google.cloud.securitycenter.v2.CloudDlpDataProfile.decode(reader, reader.uint32(), undefined, long + 1); break; } case 42: { - message.kernelRootkit = $root.google.cloud.securitycenter.v2.KernelRootkit.decode(reader, reader.uint32()); + message.kernelRootkit = $root.google.cloud.securitycenter.v2.KernelRootkit.decode(reader, reader.uint32(), undefined, long + 1); break; } case 43: { if (!(message.orgPolicies && message.orgPolicies.length)) message.orgPolicies = []; - message.orgPolicies.push($root.google.cloud.securitycenter.v2.OrgPolicy.decode(reader, reader.uint32())); + message.orgPolicies.push($root.google.cloud.securitycenter.v2.OrgPolicy.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 44: { - message.job = $root.google.cloud.securitycenter.v2.Job.decode(reader, reader.uint32()); + message.job = $root.google.cloud.securitycenter.v2.Job.decode(reader, reader.uint32(), undefined, long + 1); break; } case 45: { - message.application = $root.google.cloud.securitycenter.v2.Application.decode(reader, reader.uint32()); + message.application = $root.google.cloud.securitycenter.v2.Application.decode(reader, reader.uint32(), undefined, long + 1); break; } case 46: { - message.ipRules = $root.google.cloud.securitycenter.v2.IpRules.decode(reader, reader.uint32()); + message.ipRules = $root.google.cloud.securitycenter.v2.IpRules.decode(reader, reader.uint32(), undefined, long + 1); break; } case 47: { - message.backupDisasterRecovery = $root.google.cloud.securitycenter.v2.BackupDisasterRecovery.decode(reader, reader.uint32()); + message.backupDisasterRecovery = $root.google.cloud.securitycenter.v2.BackupDisasterRecovery.decode(reader, reader.uint32(), undefined, long + 1); break; } case 48: { - message.securityPosture = $root.google.cloud.securitycenter.v2.SecurityPosture.decode(reader, reader.uint32()); + message.securityPosture = $root.google.cloud.securitycenter.v2.SecurityPosture.decode(reader, reader.uint32(), undefined, long + 1); break; } case 49: { if (!(message.logEntries && message.logEntries.length)) message.logEntries = []; - message.logEntries.push($root.google.cloud.securitycenter.v2.LogEntry.decode(reader, reader.uint32())); + message.logEntries.push($root.google.cloud.securitycenter.v2.LogEntry.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 50: { if (!(message.loadBalancers && message.loadBalancers.length)) message.loadBalancers = []; - message.loadBalancers.push($root.google.cloud.securitycenter.v2.LoadBalancer.decode(reader, reader.uint32())); + message.loadBalancers.push($root.google.cloud.securitycenter.v2.LoadBalancer.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 51: { - message.cloudArmor = $root.google.cloud.securitycenter.v2.CloudArmor.decode(reader, reader.uint32()); + message.cloudArmor = $root.google.cloud.securitycenter.v2.CloudArmor.decode(reader, reader.uint32(), undefined, long + 1); break; } case 55: { - message.notebook = $root.google.cloud.securitycenter.v2.Notebook.decode(reader, reader.uint32()); + message.notebook = $root.google.cloud.securitycenter.v2.Notebook.decode(reader, reader.uint32(), undefined, long + 1); break; } case 56: { - message.toxicCombination = $root.google.cloud.securitycenter.v2.ToxicCombination.decode(reader, reader.uint32()); + message.toxicCombination = $root.google.cloud.securitycenter.v2.ToxicCombination.decode(reader, reader.uint32(), undefined, long + 1); break; } case 57: { if (!(message.groupMemberships && message.groupMemberships.length)) message.groupMemberships = []; - message.groupMemberships.push($root.google.cloud.securitycenter.v2.GroupMembership.decode(reader, reader.uint32())); + message.groupMemberships.push($root.google.cloud.securitycenter.v2.GroupMembership.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 58: { - message.disk = $root.google.cloud.securitycenter.v2.Disk.decode(reader, reader.uint32()); + message.disk = $root.google.cloud.securitycenter.v2.Disk.decode(reader, reader.uint32(), undefined, long + 1); break; } case 61: { if (!(message.dataAccessEvents && message.dataAccessEvents.length)) message.dataAccessEvents = []; - message.dataAccessEvents.push($root.google.cloud.securitycenter.v2.DataAccessEvent.decode(reader, reader.uint32())); + message.dataAccessEvents.push($root.google.cloud.securitycenter.v2.DataAccessEvent.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 62: { if (!(message.dataFlowEvents && message.dataFlowEvents.length)) message.dataFlowEvents = []; - message.dataFlowEvents.push($root.google.cloud.securitycenter.v2.DataFlowEvent.decode(reader, reader.uint32())); + message.dataFlowEvents.push($root.google.cloud.securitycenter.v2.DataFlowEvent.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 63: { if (!(message.networks && message.networks.length)) message.networks = []; - message.networks.push($root.google.cloud.securitycenter.v2.Network.decode(reader, reader.uint32())); + message.networks.push($root.google.cloud.securitycenter.v2.Network.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 64: { if (!(message.dataRetentionDeletionEvents && message.dataRetentionDeletionEvents.length)) message.dataRetentionDeletionEvents = []; - message.dataRetentionDeletionEvents.push($root.google.cloud.securitycenter.v2.DataRetentionDeletionEvent.decode(reader, reader.uint32())); + message.dataRetentionDeletionEvents.push($root.google.cloud.securitycenter.v2.DataRetentionDeletionEvent.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 65: { - message.affectedResources = $root.google.cloud.securitycenter.v2.AffectedResources.decode(reader, reader.uint32()); + message.affectedResources = $root.google.cloud.securitycenter.v2.AffectedResources.decode(reader, reader.uint32(), undefined, long + 1); break; } case 66: { - message.aiModel = $root.google.cloud.securitycenter.v2.AiModel.decode(reader, reader.uint32()); + message.aiModel = $root.google.cloud.securitycenter.v2.AiModel.decode(reader, reader.uint32(), undefined, long + 1); break; } case 69: { - message.chokepoint = $root.google.cloud.securitycenter.v2.Chokepoint.decode(reader, reader.uint32()); + message.chokepoint = $root.google.cloud.securitycenter.v2.Chokepoint.decode(reader, reader.uint32(), undefined, long + 1); break; } case 72: { - message.vertexAi = $root.google.cloud.securitycenter.v2.VertexAi.decode(reader, reader.uint32()); + message.vertexAi = $root.google.cloud.securitycenter.v2.VertexAi.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -98285,9 +102212,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Finding.verify = function verify(message) { + Finding.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -98320,23 +102251,23 @@ return "sourceProperties: object expected"; var key = Object.keys(message.sourceProperties); for (var i = 0; i < key.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.sourceProperties[key[i]]); + var error = $root.google.protobuf.Value.verify(message.sourceProperties[key[i]], long + 1); if (error) return "sourceProperties." + error; } } if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) { - var error = $root.google.cloud.securitycenter.v2.SecurityMarks.verify(message.securityMarks); + var error = $root.google.cloud.securitycenter.v2.SecurityMarks.verify(message.securityMarks, long + 1); if (error) return "securityMarks." + error; } if (message.eventTime != null && message.hasOwnProperty("eventTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.eventTime); + var error = $root.google.protobuf.Timestamp.verify(message.eventTime, long + 1); if (error) return "eventTime." + error; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } @@ -98362,7 +102293,7 @@ break; } if (message.muteInfo != null && message.hasOwnProperty("muteInfo")) { - var error = $root.google.cloud.securitycenter.v2.Finding.MuteInfo.verify(message.muteInfo); + var error = $root.google.cloud.securitycenter.v2.Finding.MuteInfo.verify(message.muteInfo, long + 1); if (error) return "muteInfo." + error; } @@ -98383,17 +102314,17 @@ break; } if (message.indicator != null && message.hasOwnProperty("indicator")) { - var error = $root.google.cloud.securitycenter.v2.Indicator.verify(message.indicator); + var error = $root.google.cloud.securitycenter.v2.Indicator.verify(message.indicator, long + 1); if (error) return "indicator." + error; } if (message.vulnerability != null && message.hasOwnProperty("vulnerability")) { - var error = $root.google.cloud.securitycenter.v2.Vulnerability.verify(message.vulnerability); + var error = $root.google.cloud.securitycenter.v2.Vulnerability.verify(message.vulnerability, long + 1); if (error) return "vulnerability." + error; } if (message.muteUpdateTime != null && message.hasOwnProperty("muteUpdateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.muteUpdateTime); + var error = $root.google.protobuf.Timestamp.verify(message.muteUpdateTime, long + 1); if (error) return "muteUpdateTime." + error; } @@ -98402,18 +102333,18 @@ return "externalSystems: object expected"; var key = Object.keys(message.externalSystems); for (var i = 0; i < key.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.ExternalSystem.verify(message.externalSystems[key[i]]); + var error = $root.google.cloud.securitycenter.v2.ExternalSystem.verify(message.externalSystems[key[i]], long + 1); if (error) return "externalSystems." + error; } } if (message.mitreAttack != null && message.hasOwnProperty("mitreAttack")) { - var error = $root.google.cloud.securitycenter.v2.MitreAttack.verify(message.mitreAttack); + var error = $root.google.cloud.securitycenter.v2.MitreAttack.verify(message.mitreAttack, long + 1); if (error) return "mitreAttack." + error; } if (message.access != null && message.hasOwnProperty("access")) { - var error = $root.google.cloud.securitycenter.v2.Access.verify(message.access); + var error = $root.google.cloud.securitycenter.v2.Access.verify(message.access, long + 1); if (error) return "access." + error; } @@ -98421,7 +102352,7 @@ if (!Array.isArray(message.connections)) return "connections: array expected"; for (var i = 0; i < message.connections.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Connection.verify(message.connections[i]); + var error = $root.google.cloud.securitycenter.v2.Connection.verify(message.connections[i], long + 1); if (error) return "connections." + error; } @@ -98433,7 +102364,7 @@ if (!Array.isArray(message.processes)) return "processes: array expected"; for (var i = 0; i < message.processes.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Process.verify(message.processes[i]); + var error = $root.google.cloud.securitycenter.v2.Process.verify(message.processes[i], long + 1); if (error) return "processes." + error; } @@ -98443,7 +102374,7 @@ return "contacts: object expected"; var key = Object.keys(message.contacts); for (var i = 0; i < key.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.ContactDetails.verify(message.contacts[key[i]]); + var error = $root.google.cloud.securitycenter.v2.ContactDetails.verify(message.contacts[key[i]], long + 1); if (error) return "contacts." + error; } @@ -98452,7 +102383,7 @@ if (!Array.isArray(message.compliances)) return "compliances: array expected"; for (var i = 0; i < message.compliances.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Compliance.verify(message.compliances[i]); + var error = $root.google.cloud.securitycenter.v2.Compliance.verify(message.compliances[i], long + 1); if (error) return "compliances." + error; } @@ -98464,7 +102395,7 @@ if (!$util.isString(message.description)) return "description: string expected"; if (message.exfiltration != null && message.hasOwnProperty("exfiltration")) { - var error = $root.google.cloud.securitycenter.v2.Exfiltration.verify(message.exfiltration); + var error = $root.google.cloud.securitycenter.v2.Exfiltration.verify(message.exfiltration, long + 1); if (error) return "exfiltration." + error; } @@ -98472,7 +102403,7 @@ if (!Array.isArray(message.iamBindings)) return "iamBindings: array expected"; for (var i = 0; i < message.iamBindings.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.IamBinding.verify(message.iamBindings[i]); + var error = $root.google.cloud.securitycenter.v2.IamBinding.verify(message.iamBindings[i], long + 1); if (error) return "iamBindings." + error; } @@ -98487,23 +102418,23 @@ if (!Array.isArray(message.containers)) return "containers: array expected"; for (var i = 0; i < message.containers.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Container.verify(message.containers[i]); + var error = $root.google.cloud.securitycenter.v2.Container.verify(message.containers[i], long + 1); if (error) return "containers." + error; } } if (message.kubernetes != null && message.hasOwnProperty("kubernetes")) { - var error = $root.google.cloud.securitycenter.v2.Kubernetes.verify(message.kubernetes); + var error = $root.google.cloud.securitycenter.v2.Kubernetes.verify(message.kubernetes, long + 1); if (error) return "kubernetes." + error; } if (message.database != null && message.hasOwnProperty("database")) { - var error = $root.google.cloud.securitycenter.v2.Database.verify(message.database); + var error = $root.google.cloud.securitycenter.v2.Database.verify(message.database, long + 1); if (error) return "database." + error; } if (message.attackExposure != null && message.hasOwnProperty("attackExposure")) { - var error = $root.google.cloud.securitycenter.v2.AttackExposure.verify(message.attackExposure); + var error = $root.google.cloud.securitycenter.v2.AttackExposure.verify(message.attackExposure, long + 1); if (error) return "attackExposure." + error; } @@ -98511,23 +102442,23 @@ if (!Array.isArray(message.files)) return "files: array expected"; for (var i = 0; i < message.files.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.File.verify(message.files[i]); + var error = $root.google.cloud.securitycenter.v2.File.verify(message.files[i], long + 1); if (error) return "files." + error; } } if (message.cloudDlpInspection != null && message.hasOwnProperty("cloudDlpInspection")) { - var error = $root.google.cloud.securitycenter.v2.CloudDlpInspection.verify(message.cloudDlpInspection); + var error = $root.google.cloud.securitycenter.v2.CloudDlpInspection.verify(message.cloudDlpInspection, long + 1); if (error) return "cloudDlpInspection." + error; } if (message.cloudDlpDataProfile != null && message.hasOwnProperty("cloudDlpDataProfile")) { - var error = $root.google.cloud.securitycenter.v2.CloudDlpDataProfile.verify(message.cloudDlpDataProfile); + var error = $root.google.cloud.securitycenter.v2.CloudDlpDataProfile.verify(message.cloudDlpDataProfile, long + 1); if (error) return "cloudDlpDataProfile." + error; } if (message.kernelRootkit != null && message.hasOwnProperty("kernelRootkit")) { - var error = $root.google.cloud.securitycenter.v2.KernelRootkit.verify(message.kernelRootkit); + var error = $root.google.cloud.securitycenter.v2.KernelRootkit.verify(message.kernelRootkit, long + 1); if (error) return "kernelRootkit." + error; } @@ -98535,33 +102466,33 @@ if (!Array.isArray(message.orgPolicies)) return "orgPolicies: array expected"; for (var i = 0; i < message.orgPolicies.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.OrgPolicy.verify(message.orgPolicies[i]); + var error = $root.google.cloud.securitycenter.v2.OrgPolicy.verify(message.orgPolicies[i], long + 1); if (error) return "orgPolicies." + error; } } if (message.job != null && message.hasOwnProperty("job")) { - var error = $root.google.cloud.securitycenter.v2.Job.verify(message.job); + var error = $root.google.cloud.securitycenter.v2.Job.verify(message.job, long + 1); if (error) return "job." + error; } if (message.application != null && message.hasOwnProperty("application")) { - var error = $root.google.cloud.securitycenter.v2.Application.verify(message.application); + var error = $root.google.cloud.securitycenter.v2.Application.verify(message.application, long + 1); if (error) return "application." + error; } if (message.ipRules != null && message.hasOwnProperty("ipRules")) { - var error = $root.google.cloud.securitycenter.v2.IpRules.verify(message.ipRules); + var error = $root.google.cloud.securitycenter.v2.IpRules.verify(message.ipRules, long + 1); if (error) return "ipRules." + error; } if (message.backupDisasterRecovery != null && message.hasOwnProperty("backupDisasterRecovery")) { - var error = $root.google.cloud.securitycenter.v2.BackupDisasterRecovery.verify(message.backupDisasterRecovery); + var error = $root.google.cloud.securitycenter.v2.BackupDisasterRecovery.verify(message.backupDisasterRecovery, long + 1); if (error) return "backupDisasterRecovery." + error; } if (message.securityPosture != null && message.hasOwnProperty("securityPosture")) { - var error = $root.google.cloud.securitycenter.v2.SecurityPosture.verify(message.securityPosture); + var error = $root.google.cloud.securitycenter.v2.SecurityPosture.verify(message.securityPosture, long + 1); if (error) return "securityPosture." + error; } @@ -98569,7 +102500,7 @@ if (!Array.isArray(message.logEntries)) return "logEntries: array expected"; for (var i = 0; i < message.logEntries.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.LogEntry.verify(message.logEntries[i]); + var error = $root.google.cloud.securitycenter.v2.LogEntry.verify(message.logEntries[i], long + 1); if (error) return "logEntries." + error; } @@ -98578,23 +102509,23 @@ if (!Array.isArray(message.loadBalancers)) return "loadBalancers: array expected"; for (var i = 0; i < message.loadBalancers.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.LoadBalancer.verify(message.loadBalancers[i]); + var error = $root.google.cloud.securitycenter.v2.LoadBalancer.verify(message.loadBalancers[i], long + 1); if (error) return "loadBalancers." + error; } } if (message.cloudArmor != null && message.hasOwnProperty("cloudArmor")) { - var error = $root.google.cloud.securitycenter.v2.CloudArmor.verify(message.cloudArmor); + var error = $root.google.cloud.securitycenter.v2.CloudArmor.verify(message.cloudArmor, long + 1); if (error) return "cloudArmor." + error; } if (message.notebook != null && message.hasOwnProperty("notebook")) { - var error = $root.google.cloud.securitycenter.v2.Notebook.verify(message.notebook); + var error = $root.google.cloud.securitycenter.v2.Notebook.verify(message.notebook, long + 1); if (error) return "notebook." + error; } if (message.toxicCombination != null && message.hasOwnProperty("toxicCombination")) { - var error = $root.google.cloud.securitycenter.v2.ToxicCombination.verify(message.toxicCombination); + var error = $root.google.cloud.securitycenter.v2.ToxicCombination.verify(message.toxicCombination, long + 1); if (error) return "toxicCombination." + error; } @@ -98602,13 +102533,13 @@ if (!Array.isArray(message.groupMemberships)) return "groupMemberships: array expected"; for (var i = 0; i < message.groupMemberships.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.GroupMembership.verify(message.groupMemberships[i]); + var error = $root.google.cloud.securitycenter.v2.GroupMembership.verify(message.groupMemberships[i], long + 1); if (error) return "groupMemberships." + error; } } if (message.disk != null && message.hasOwnProperty("disk")) { - var error = $root.google.cloud.securitycenter.v2.Disk.verify(message.disk); + var error = $root.google.cloud.securitycenter.v2.Disk.verify(message.disk, long + 1); if (error) return "disk." + error; } @@ -98616,7 +102547,7 @@ if (!Array.isArray(message.dataAccessEvents)) return "dataAccessEvents: array expected"; for (var i = 0; i < message.dataAccessEvents.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.DataAccessEvent.verify(message.dataAccessEvents[i]); + var error = $root.google.cloud.securitycenter.v2.DataAccessEvent.verify(message.dataAccessEvents[i], long + 1); if (error) return "dataAccessEvents." + error; } @@ -98625,7 +102556,7 @@ if (!Array.isArray(message.dataFlowEvents)) return "dataFlowEvents: array expected"; for (var i = 0; i < message.dataFlowEvents.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.DataFlowEvent.verify(message.dataFlowEvents[i]); + var error = $root.google.cloud.securitycenter.v2.DataFlowEvent.verify(message.dataFlowEvents[i], long + 1); if (error) return "dataFlowEvents." + error; } @@ -98634,7 +102565,7 @@ if (!Array.isArray(message.networks)) return "networks: array expected"; for (var i = 0; i < message.networks.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Network.verify(message.networks[i]); + var error = $root.google.cloud.securitycenter.v2.Network.verify(message.networks[i], long + 1); if (error) return "networks." + error; } @@ -98643,28 +102574,28 @@ if (!Array.isArray(message.dataRetentionDeletionEvents)) return "dataRetentionDeletionEvents: array expected"; for (var i = 0; i < message.dataRetentionDeletionEvents.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.DataRetentionDeletionEvent.verify(message.dataRetentionDeletionEvents[i]); + var error = $root.google.cloud.securitycenter.v2.DataRetentionDeletionEvent.verify(message.dataRetentionDeletionEvents[i], long + 1); if (error) return "dataRetentionDeletionEvents." + error; } } if (message.affectedResources != null && message.hasOwnProperty("affectedResources")) { - var error = $root.google.cloud.securitycenter.v2.AffectedResources.verify(message.affectedResources); + var error = $root.google.cloud.securitycenter.v2.AffectedResources.verify(message.affectedResources, long + 1); if (error) return "affectedResources." + error; } if (message.aiModel != null && message.hasOwnProperty("aiModel")) { - var error = $root.google.cloud.securitycenter.v2.AiModel.verify(message.aiModel); + var error = $root.google.cloud.securitycenter.v2.AiModel.verify(message.aiModel, long + 1); if (error) return "aiModel." + error; } if (message.chokepoint != null && message.hasOwnProperty("chokepoint")) { - var error = $root.google.cloud.securitycenter.v2.Chokepoint.verify(message.chokepoint); + var error = $root.google.cloud.securitycenter.v2.Chokepoint.verify(message.chokepoint, long + 1); if (error) return "chokepoint." + error; } if (message.vertexAi != null && message.hasOwnProperty("vertexAi")) { - var error = $root.google.cloud.securitycenter.v2.VertexAi.verify(message.vertexAi); + var error = $root.google.cloud.securitycenter.v2.VertexAi.verify(message.vertexAi, long + 1); if (error) return "vertexAi." + error; } @@ -98679,9 +102610,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Finding} Finding */ - Finding.fromObject = function fromObject(object) { + Finding.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Finding) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Finding(); if (object.name != null) message.name = String(object.name); @@ -98720,25 +102655,27 @@ throw TypeError(".google.cloud.securitycenter.v2.Finding.sourceProperties: object expected"); message.sourceProperties = {}; for (var keys = Object.keys(object.sourceProperties), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.sourceProperties, keys[i]); if (typeof object.sourceProperties[keys[i]] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.sourceProperties: object expected"); - message.sourceProperties[keys[i]] = $root.google.protobuf.Value.fromObject(object.sourceProperties[keys[i]]); + message.sourceProperties[keys[i]] = $root.google.protobuf.Value.fromObject(object.sourceProperties[keys[i]], long + 1); } } if (object.securityMarks != null) { if (typeof object.securityMarks !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.securityMarks: object expected"); - message.securityMarks = $root.google.cloud.securitycenter.v2.SecurityMarks.fromObject(object.securityMarks); + message.securityMarks = $root.google.cloud.securitycenter.v2.SecurityMarks.fromObject(object.securityMarks, long + 1); } if (object.eventTime != null) { if (typeof object.eventTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.eventTime: object expected"); - message.eventTime = $root.google.protobuf.Timestamp.fromObject(object.eventTime); + message.eventTime = $root.google.protobuf.Timestamp.fromObject(object.eventTime, long + 1); } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } switch (object.severity) { default: @@ -98795,7 +102732,7 @@ if (object.muteInfo != null) { if (typeof object.muteInfo !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.muteInfo: object expected"); - message.muteInfo = $root.google.cloud.securitycenter.v2.Finding.MuteInfo.fromObject(object.muteInfo); + message.muteInfo = $root.google.cloud.securitycenter.v2.Finding.MuteInfo.fromObject(object.muteInfo, long + 1); } switch (object.findingClass) { default: @@ -98848,37 +102785,39 @@ if (object.indicator != null) { if (typeof object.indicator !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.indicator: object expected"); - message.indicator = $root.google.cloud.securitycenter.v2.Indicator.fromObject(object.indicator); + message.indicator = $root.google.cloud.securitycenter.v2.Indicator.fromObject(object.indicator, long + 1); } if (object.vulnerability != null) { if (typeof object.vulnerability !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.vulnerability: object expected"); - message.vulnerability = $root.google.cloud.securitycenter.v2.Vulnerability.fromObject(object.vulnerability); + message.vulnerability = $root.google.cloud.securitycenter.v2.Vulnerability.fromObject(object.vulnerability, long + 1); } if (object.muteUpdateTime != null) { if (typeof object.muteUpdateTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.muteUpdateTime: object expected"); - message.muteUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.muteUpdateTime); + message.muteUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.muteUpdateTime, long + 1); } if (object.externalSystems) { if (typeof object.externalSystems !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.externalSystems: object expected"); message.externalSystems = {}; for (var keys = Object.keys(object.externalSystems), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.externalSystems, keys[i]); if (typeof object.externalSystems[keys[i]] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.externalSystems: object expected"); - message.externalSystems[keys[i]] = $root.google.cloud.securitycenter.v2.ExternalSystem.fromObject(object.externalSystems[keys[i]]); + message.externalSystems[keys[i]] = $root.google.cloud.securitycenter.v2.ExternalSystem.fromObject(object.externalSystems[keys[i]], long + 1); } } if (object.mitreAttack != null) { if (typeof object.mitreAttack !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.mitreAttack: object expected"); - message.mitreAttack = $root.google.cloud.securitycenter.v2.MitreAttack.fromObject(object.mitreAttack); + message.mitreAttack = $root.google.cloud.securitycenter.v2.MitreAttack.fromObject(object.mitreAttack, long + 1); } if (object.access != null) { if (typeof object.access !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.access: object expected"); - message.access = $root.google.cloud.securitycenter.v2.Access.fromObject(object.access); + message.access = $root.google.cloud.securitycenter.v2.Access.fromObject(object.access, long + 1); } if (object.connections) { if (!Array.isArray(object.connections)) @@ -98887,7 +102826,7 @@ for (var i = 0; i < object.connections.length; ++i) { if (typeof object.connections[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.connections: object expected"); - message.connections[i] = $root.google.cloud.securitycenter.v2.Connection.fromObject(object.connections[i]); + message.connections[i] = $root.google.cloud.securitycenter.v2.Connection.fromObject(object.connections[i], long + 1); } } if (object.muteInitiator != null) @@ -98899,7 +102838,7 @@ for (var i = 0; i < object.processes.length; ++i) { if (typeof object.processes[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.processes: object expected"); - message.processes[i] = $root.google.cloud.securitycenter.v2.Process.fromObject(object.processes[i]); + message.processes[i] = $root.google.cloud.securitycenter.v2.Process.fromObject(object.processes[i], long + 1); } } if (object.contacts) { @@ -98907,9 +102846,11 @@ throw TypeError(".google.cloud.securitycenter.v2.Finding.contacts: object expected"); message.contacts = {}; for (var keys = Object.keys(object.contacts), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.contacts, keys[i]); if (typeof object.contacts[keys[i]] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.contacts: object expected"); - message.contacts[keys[i]] = $root.google.cloud.securitycenter.v2.ContactDetails.fromObject(object.contacts[keys[i]]); + message.contacts[keys[i]] = $root.google.cloud.securitycenter.v2.ContactDetails.fromObject(object.contacts[keys[i]], long + 1); } } if (object.compliances) { @@ -98919,7 +102860,7 @@ for (var i = 0; i < object.compliances.length; ++i) { if (typeof object.compliances[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.compliances: object expected"); - message.compliances[i] = $root.google.cloud.securitycenter.v2.Compliance.fromObject(object.compliances[i]); + message.compliances[i] = $root.google.cloud.securitycenter.v2.Compliance.fromObject(object.compliances[i], long + 1); } } if (object.parentDisplayName != null) @@ -98929,7 +102870,7 @@ if (object.exfiltration != null) { if (typeof object.exfiltration !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.exfiltration: object expected"); - message.exfiltration = $root.google.cloud.securitycenter.v2.Exfiltration.fromObject(object.exfiltration); + message.exfiltration = $root.google.cloud.securitycenter.v2.Exfiltration.fromObject(object.exfiltration, long + 1); } if (object.iamBindings) { if (!Array.isArray(object.iamBindings)) @@ -98938,7 +102879,7 @@ for (var i = 0; i < object.iamBindings.length; ++i) { if (typeof object.iamBindings[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.iamBindings: object expected"); - message.iamBindings[i] = $root.google.cloud.securitycenter.v2.IamBinding.fromObject(object.iamBindings[i]); + message.iamBindings[i] = $root.google.cloud.securitycenter.v2.IamBinding.fromObject(object.iamBindings[i], long + 1); } } if (object.nextSteps != null) @@ -98952,23 +102893,23 @@ for (var i = 0; i < object.containers.length; ++i) { if (typeof object.containers[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.containers: object expected"); - message.containers[i] = $root.google.cloud.securitycenter.v2.Container.fromObject(object.containers[i]); + message.containers[i] = $root.google.cloud.securitycenter.v2.Container.fromObject(object.containers[i], long + 1); } } if (object.kubernetes != null) { if (typeof object.kubernetes !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.kubernetes: object expected"); - message.kubernetes = $root.google.cloud.securitycenter.v2.Kubernetes.fromObject(object.kubernetes); + message.kubernetes = $root.google.cloud.securitycenter.v2.Kubernetes.fromObject(object.kubernetes, long + 1); } if (object.database != null) { if (typeof object.database !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.database: object expected"); - message.database = $root.google.cloud.securitycenter.v2.Database.fromObject(object.database); + message.database = $root.google.cloud.securitycenter.v2.Database.fromObject(object.database, long + 1); } if (object.attackExposure != null) { if (typeof object.attackExposure !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.attackExposure: object expected"); - message.attackExposure = $root.google.cloud.securitycenter.v2.AttackExposure.fromObject(object.attackExposure); + message.attackExposure = $root.google.cloud.securitycenter.v2.AttackExposure.fromObject(object.attackExposure, long + 1); } if (object.files) { if (!Array.isArray(object.files)) @@ -98977,23 +102918,23 @@ for (var i = 0; i < object.files.length; ++i) { if (typeof object.files[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.files: object expected"); - message.files[i] = $root.google.cloud.securitycenter.v2.File.fromObject(object.files[i]); + message.files[i] = $root.google.cloud.securitycenter.v2.File.fromObject(object.files[i], long + 1); } } if (object.cloudDlpInspection != null) { if (typeof object.cloudDlpInspection !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.cloudDlpInspection: object expected"); - message.cloudDlpInspection = $root.google.cloud.securitycenter.v2.CloudDlpInspection.fromObject(object.cloudDlpInspection); + message.cloudDlpInspection = $root.google.cloud.securitycenter.v2.CloudDlpInspection.fromObject(object.cloudDlpInspection, long + 1); } if (object.cloudDlpDataProfile != null) { if (typeof object.cloudDlpDataProfile !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.cloudDlpDataProfile: object expected"); - message.cloudDlpDataProfile = $root.google.cloud.securitycenter.v2.CloudDlpDataProfile.fromObject(object.cloudDlpDataProfile); + message.cloudDlpDataProfile = $root.google.cloud.securitycenter.v2.CloudDlpDataProfile.fromObject(object.cloudDlpDataProfile, long + 1); } if (object.kernelRootkit != null) { if (typeof object.kernelRootkit !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.kernelRootkit: object expected"); - message.kernelRootkit = $root.google.cloud.securitycenter.v2.KernelRootkit.fromObject(object.kernelRootkit); + message.kernelRootkit = $root.google.cloud.securitycenter.v2.KernelRootkit.fromObject(object.kernelRootkit, long + 1); } if (object.orgPolicies) { if (!Array.isArray(object.orgPolicies)) @@ -99002,33 +102943,33 @@ for (var i = 0; i < object.orgPolicies.length; ++i) { if (typeof object.orgPolicies[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.orgPolicies: object expected"); - message.orgPolicies[i] = $root.google.cloud.securitycenter.v2.OrgPolicy.fromObject(object.orgPolicies[i]); + message.orgPolicies[i] = $root.google.cloud.securitycenter.v2.OrgPolicy.fromObject(object.orgPolicies[i], long + 1); } } if (object.job != null) { if (typeof object.job !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.job: object expected"); - message.job = $root.google.cloud.securitycenter.v2.Job.fromObject(object.job); + message.job = $root.google.cloud.securitycenter.v2.Job.fromObject(object.job, long + 1); } if (object.application != null) { if (typeof object.application !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.application: object expected"); - message.application = $root.google.cloud.securitycenter.v2.Application.fromObject(object.application); + message.application = $root.google.cloud.securitycenter.v2.Application.fromObject(object.application, long + 1); } if (object.ipRules != null) { if (typeof object.ipRules !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.ipRules: object expected"); - message.ipRules = $root.google.cloud.securitycenter.v2.IpRules.fromObject(object.ipRules); + message.ipRules = $root.google.cloud.securitycenter.v2.IpRules.fromObject(object.ipRules, long + 1); } if (object.backupDisasterRecovery != null) { if (typeof object.backupDisasterRecovery !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.backupDisasterRecovery: object expected"); - message.backupDisasterRecovery = $root.google.cloud.securitycenter.v2.BackupDisasterRecovery.fromObject(object.backupDisasterRecovery); + message.backupDisasterRecovery = $root.google.cloud.securitycenter.v2.BackupDisasterRecovery.fromObject(object.backupDisasterRecovery, long + 1); } if (object.securityPosture != null) { if (typeof object.securityPosture !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.securityPosture: object expected"); - message.securityPosture = $root.google.cloud.securitycenter.v2.SecurityPosture.fromObject(object.securityPosture); + message.securityPosture = $root.google.cloud.securitycenter.v2.SecurityPosture.fromObject(object.securityPosture, long + 1); } if (object.logEntries) { if (!Array.isArray(object.logEntries)) @@ -99037,7 +102978,7 @@ for (var i = 0; i < object.logEntries.length; ++i) { if (typeof object.logEntries[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.logEntries: object expected"); - message.logEntries[i] = $root.google.cloud.securitycenter.v2.LogEntry.fromObject(object.logEntries[i]); + message.logEntries[i] = $root.google.cloud.securitycenter.v2.LogEntry.fromObject(object.logEntries[i], long + 1); } } if (object.loadBalancers) { @@ -99047,23 +102988,23 @@ for (var i = 0; i < object.loadBalancers.length; ++i) { if (typeof object.loadBalancers[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.loadBalancers: object expected"); - message.loadBalancers[i] = $root.google.cloud.securitycenter.v2.LoadBalancer.fromObject(object.loadBalancers[i]); + message.loadBalancers[i] = $root.google.cloud.securitycenter.v2.LoadBalancer.fromObject(object.loadBalancers[i], long + 1); } } if (object.cloudArmor != null) { if (typeof object.cloudArmor !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.cloudArmor: object expected"); - message.cloudArmor = $root.google.cloud.securitycenter.v2.CloudArmor.fromObject(object.cloudArmor); + message.cloudArmor = $root.google.cloud.securitycenter.v2.CloudArmor.fromObject(object.cloudArmor, long + 1); } if (object.notebook != null) { if (typeof object.notebook !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.notebook: object expected"); - message.notebook = $root.google.cloud.securitycenter.v2.Notebook.fromObject(object.notebook); + message.notebook = $root.google.cloud.securitycenter.v2.Notebook.fromObject(object.notebook, long + 1); } if (object.toxicCombination != null) { if (typeof object.toxicCombination !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.toxicCombination: object expected"); - message.toxicCombination = $root.google.cloud.securitycenter.v2.ToxicCombination.fromObject(object.toxicCombination); + message.toxicCombination = $root.google.cloud.securitycenter.v2.ToxicCombination.fromObject(object.toxicCombination, long + 1); } if (object.groupMemberships) { if (!Array.isArray(object.groupMemberships)) @@ -99072,13 +103013,13 @@ for (var i = 0; i < object.groupMemberships.length; ++i) { if (typeof object.groupMemberships[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.groupMemberships: object expected"); - message.groupMemberships[i] = $root.google.cloud.securitycenter.v2.GroupMembership.fromObject(object.groupMemberships[i]); + message.groupMemberships[i] = $root.google.cloud.securitycenter.v2.GroupMembership.fromObject(object.groupMemberships[i], long + 1); } } if (object.disk != null) { if (typeof object.disk !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.disk: object expected"); - message.disk = $root.google.cloud.securitycenter.v2.Disk.fromObject(object.disk); + message.disk = $root.google.cloud.securitycenter.v2.Disk.fromObject(object.disk, long + 1); } if (object.dataAccessEvents) { if (!Array.isArray(object.dataAccessEvents)) @@ -99087,7 +103028,7 @@ for (var i = 0; i < object.dataAccessEvents.length; ++i) { if (typeof object.dataAccessEvents[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.dataAccessEvents: object expected"); - message.dataAccessEvents[i] = $root.google.cloud.securitycenter.v2.DataAccessEvent.fromObject(object.dataAccessEvents[i]); + message.dataAccessEvents[i] = $root.google.cloud.securitycenter.v2.DataAccessEvent.fromObject(object.dataAccessEvents[i], long + 1); } } if (object.dataFlowEvents) { @@ -99097,7 +103038,7 @@ for (var i = 0; i < object.dataFlowEvents.length; ++i) { if (typeof object.dataFlowEvents[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.dataFlowEvents: object expected"); - message.dataFlowEvents[i] = $root.google.cloud.securitycenter.v2.DataFlowEvent.fromObject(object.dataFlowEvents[i]); + message.dataFlowEvents[i] = $root.google.cloud.securitycenter.v2.DataFlowEvent.fromObject(object.dataFlowEvents[i], long + 1); } } if (object.networks) { @@ -99107,7 +103048,7 @@ for (var i = 0; i < object.networks.length; ++i) { if (typeof object.networks[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.networks: object expected"); - message.networks[i] = $root.google.cloud.securitycenter.v2.Network.fromObject(object.networks[i]); + message.networks[i] = $root.google.cloud.securitycenter.v2.Network.fromObject(object.networks[i], long + 1); } } if (object.dataRetentionDeletionEvents) { @@ -99117,28 +103058,28 @@ for (var i = 0; i < object.dataRetentionDeletionEvents.length; ++i) { if (typeof object.dataRetentionDeletionEvents[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.dataRetentionDeletionEvents: object expected"); - message.dataRetentionDeletionEvents[i] = $root.google.cloud.securitycenter.v2.DataRetentionDeletionEvent.fromObject(object.dataRetentionDeletionEvents[i]); + message.dataRetentionDeletionEvents[i] = $root.google.cloud.securitycenter.v2.DataRetentionDeletionEvent.fromObject(object.dataRetentionDeletionEvents[i], long + 1); } } if (object.affectedResources != null) { if (typeof object.affectedResources !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.affectedResources: object expected"); - message.affectedResources = $root.google.cloud.securitycenter.v2.AffectedResources.fromObject(object.affectedResources); + message.affectedResources = $root.google.cloud.securitycenter.v2.AffectedResources.fromObject(object.affectedResources, long + 1); } if (object.aiModel != null) { if (typeof object.aiModel !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.aiModel: object expected"); - message.aiModel = $root.google.cloud.securitycenter.v2.AiModel.fromObject(object.aiModel); + message.aiModel = $root.google.cloud.securitycenter.v2.AiModel.fromObject(object.aiModel, long + 1); } if (object.chokepoint != null) { if (typeof object.chokepoint !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.chokepoint: object expected"); - message.chokepoint = $root.google.cloud.securitycenter.v2.Chokepoint.fromObject(object.chokepoint); + message.chokepoint = $root.google.cloud.securitycenter.v2.Chokepoint.fromObject(object.chokepoint, long + 1); } if (object.vertexAi != null) { if (typeof object.vertexAi !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.vertexAi: object expected"); - message.vertexAi = $root.google.cloud.securitycenter.v2.VertexAi.fromObject(object.vertexAi); + message.vertexAi = $root.google.cloud.securitycenter.v2.VertexAi.fromObject(object.vertexAi, long + 1); } return message; }; @@ -99240,8 +103181,11 @@ var keys2; if (message.sourceProperties && (keys2 = Object.keys(message.sourceProperties)).length) { object.sourceProperties = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.sourceProperties, keys2[j]); object.sourceProperties[keys2[j]] = $root.google.protobuf.Value.toObject(message.sourceProperties[keys2[j]], options); + } } if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) object.securityMarks = $root.google.cloud.securitycenter.v2.SecurityMarks.toObject(message.securityMarks, options); @@ -99263,8 +103207,11 @@ object.muteUpdateTime = $root.google.protobuf.Timestamp.toObject(message.muteUpdateTime, options); if (message.externalSystems && (keys2 = Object.keys(message.externalSystems)).length) { object.externalSystems = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.externalSystems, keys2[j]); object.externalSystems[keys2[j]] = $root.google.cloud.securitycenter.v2.ExternalSystem.toObject(message.externalSystems[keys2[j]], options); + } } if (message.mitreAttack != null && message.hasOwnProperty("mitreAttack")) object.mitreAttack = $root.google.cloud.securitycenter.v2.MitreAttack.toObject(message.mitreAttack, options); @@ -99284,8 +103231,11 @@ } if (message.contacts && (keys2 = Object.keys(message.contacts)).length) { object.contacts = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.contacts, keys2[j]); object.contacts[keys2[j]] = $root.google.cloud.securitycenter.v2.ContactDetails.toObject(message.contacts[keys2[j]], options); + } } if (message.compliances && message.compliances.length) { object.compliances = []; @@ -99502,7 +103452,7 @@ this.dynamicMuteRecords = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -99578,9 +103528,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MuteInfo.decode = function decode(reader, length, error) { + MuteInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Finding.MuteInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -99588,17 +103542,17 @@ break; switch (tag >>> 3) { case 1: { - message.staticMute = $root.google.cloud.securitycenter.v2.Finding.MuteInfo.StaticMute.decode(reader, reader.uint32()); + message.staticMute = $root.google.cloud.securitycenter.v2.Finding.MuteInfo.StaticMute.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { if (!(message.dynamicMuteRecords && message.dynamicMuteRecords.length)) message.dynamicMuteRecords = []; - message.dynamicMuteRecords.push($root.google.cloud.securitycenter.v2.Finding.MuteInfo.DynamicMuteRecord.decode(reader, reader.uint32())); + message.dynamicMuteRecords.push($root.google.cloud.securitycenter.v2.Finding.MuteInfo.DynamicMuteRecord.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -99629,11 +103583,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MuteInfo.verify = function verify(message) { + MuteInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.staticMute != null && message.hasOwnProperty("staticMute")) { - var error = $root.google.cloud.securitycenter.v2.Finding.MuteInfo.StaticMute.verify(message.staticMute); + var error = $root.google.cloud.securitycenter.v2.Finding.MuteInfo.StaticMute.verify(message.staticMute, long + 1); if (error) return "staticMute." + error; } @@ -99641,7 +103599,7 @@ if (!Array.isArray(message.dynamicMuteRecords)) return "dynamicMuteRecords: array expected"; for (var i = 0; i < message.dynamicMuteRecords.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Finding.MuteInfo.DynamicMuteRecord.verify(message.dynamicMuteRecords[i]); + var error = $root.google.cloud.securitycenter.v2.Finding.MuteInfo.DynamicMuteRecord.verify(message.dynamicMuteRecords[i], long + 1); if (error) return "dynamicMuteRecords." + error; } @@ -99657,14 +103615,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Finding.MuteInfo} MuteInfo */ - MuteInfo.fromObject = function fromObject(object) { + MuteInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Finding.MuteInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Finding.MuteInfo(); if (object.staticMute != null) { if (typeof object.staticMute !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.MuteInfo.staticMute: object expected"); - message.staticMute = $root.google.cloud.securitycenter.v2.Finding.MuteInfo.StaticMute.fromObject(object.staticMute); + message.staticMute = $root.google.cloud.securitycenter.v2.Finding.MuteInfo.StaticMute.fromObject(object.staticMute, long + 1); } if (object.dynamicMuteRecords) { if (!Array.isArray(object.dynamicMuteRecords)) @@ -99673,7 +103635,7 @@ for (var i = 0; i < object.dynamicMuteRecords.length; ++i) { if (typeof object.dynamicMuteRecords[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.MuteInfo.dynamicMuteRecords: object expected"); - message.dynamicMuteRecords[i] = $root.google.cloud.securitycenter.v2.Finding.MuteInfo.DynamicMuteRecord.fromObject(object.dynamicMuteRecords[i]); + message.dynamicMuteRecords[i] = $root.google.cloud.securitycenter.v2.Finding.MuteInfo.DynamicMuteRecord.fromObject(object.dynamicMuteRecords[i], long + 1); } } return message; @@ -99753,7 +103715,7 @@ function StaticMute(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -99828,9 +103790,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StaticMute.decode = function decode(reader, length, error) { + StaticMute.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Finding.MuteInfo.StaticMute(); while (reader.pos < end) { var tag = reader.uint32(); @@ -99842,11 +103808,11 @@ break; } case 2: { - message.applyTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.applyTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -99877,9 +103843,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StaticMute.verify = function verify(message) { + StaticMute.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.state != null && message.hasOwnProperty("state")) switch (message.state) { default: @@ -99891,7 +103861,7 @@ break; } if (message.applyTime != null && message.hasOwnProperty("applyTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.applyTime); + var error = $root.google.protobuf.Timestamp.verify(message.applyTime, long + 1); if (error) return "applyTime." + error; } @@ -99906,9 +103876,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Finding.MuteInfo.StaticMute} StaticMute */ - StaticMute.fromObject = function fromObject(object) { + StaticMute.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Finding.MuteInfo.StaticMute) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Finding.MuteInfo.StaticMute(); switch (object.state) { default: @@ -99937,7 +103911,7 @@ if (object.applyTime != null) { if (typeof object.applyTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.MuteInfo.StaticMute.applyTime: object expected"); - message.applyTime = $root.google.protobuf.Timestamp.fromObject(object.applyTime); + message.applyTime = $root.google.protobuf.Timestamp.fromObject(object.applyTime, long + 1); } return message; }; @@ -100016,7 +103990,7 @@ function DynamicMuteRecord(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -100091,9 +104065,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DynamicMuteRecord.decode = function decode(reader, length, error) { + DynamicMuteRecord.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Finding.MuteInfo.DynamicMuteRecord(); while (reader.pos < end) { var tag = reader.uint32(); @@ -100105,11 +104083,11 @@ break; } case 2: { - message.matchTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.matchTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -100140,14 +104118,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DynamicMuteRecord.verify = function verify(message) { + DynamicMuteRecord.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.muteConfig != null && message.hasOwnProperty("muteConfig")) if (!$util.isString(message.muteConfig)) return "muteConfig: string expected"; if (message.matchTime != null && message.hasOwnProperty("matchTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.matchTime); + var error = $root.google.protobuf.Timestamp.verify(message.matchTime, long + 1); if (error) return "matchTime." + error; } @@ -100162,16 +104144,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Finding.MuteInfo.DynamicMuteRecord} DynamicMuteRecord */ - DynamicMuteRecord.fromObject = function fromObject(object) { + DynamicMuteRecord.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Finding.MuteInfo.DynamicMuteRecord) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Finding.MuteInfo.DynamicMuteRecord(); if (object.muteConfig != null) message.muteConfig = String(object.muteConfig); if (object.matchTime != null) { if (typeof object.matchTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.Finding.MuteInfo.DynamicMuteRecord.matchTime: object expected"); - message.matchTime = $root.google.protobuf.Timestamp.fromObject(object.matchTime); + message.matchTime = $root.google.protobuf.Timestamp.fromObject(object.matchTime, long + 1); } return message; }; @@ -100286,7 +104272,7 @@ function GroupMembership(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -100361,9 +104347,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupMembership.decode = function decode(reader, length, error) { + GroupMembership.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.GroupMembership(); while (reader.pos < end) { var tag = reader.uint32(); @@ -100379,7 +104369,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -100410,9 +104400,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupMembership.verify = function verify(message) { + GroupMembership.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.groupType != null && message.hasOwnProperty("groupType")) switch (message.groupType) { default: @@ -100436,9 +104430,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.GroupMembership} GroupMembership */ - GroupMembership.fromObject = function fromObject(object) { + GroupMembership.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.GroupMembership) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.GroupMembership(); switch (object.groupType) { default: @@ -100556,7 +104554,7 @@ function IamBinding(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -100641,9 +104639,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IamBinding.decode = function decode(reader, length, error) { + IamBinding.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.IamBinding(); while (reader.pos < end) { var tag = reader.uint32(); @@ -100663,7 +104665,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -100694,9 +104696,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - IamBinding.verify = function verify(message) { + IamBinding.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.action != null && message.hasOwnProperty("action")) switch (message.action) { default: @@ -100723,9 +104729,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.IamBinding} IamBinding */ - IamBinding.fromObject = function fromObject(object) { + IamBinding.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.IamBinding) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.IamBinding(); switch (object.action) { default: @@ -100853,7 +104863,7 @@ this.uris = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -100952,9 +104962,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Indicator.decode = function decode(reader, length, error) { + Indicator.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Indicator(); while (reader.pos < end) { var tag = reader.uint32(); @@ -100976,7 +104990,7 @@ case 3: { if (!(message.signatures && message.signatures.length)) message.signatures = []; - message.signatures.push($root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.decode(reader, reader.uint32())); + message.signatures.push($root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { @@ -100986,7 +105000,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -101017,9 +105031,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Indicator.verify = function verify(message) { + Indicator.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ipAddresses != null && message.hasOwnProperty("ipAddresses")) { if (!Array.isArray(message.ipAddresses)) return "ipAddresses: array expected"; @@ -101038,7 +105056,7 @@ if (!Array.isArray(message.signatures)) return "signatures: array expected"; for (var i = 0; i < message.signatures.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.verify(message.signatures[i]); + var error = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.verify(message.signatures[i], long + 1); if (error) return "signatures." + error; } @@ -101061,9 +105079,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Indicator} Indicator */ - Indicator.fromObject = function fromObject(object) { + Indicator.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Indicator) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Indicator(); if (object.ipAddresses) { if (!Array.isArray(object.ipAddresses)) @@ -101086,7 +105108,7 @@ for (var i = 0; i < object.signatures.length; ++i) { if (typeof object.signatures[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Indicator.signatures: object expected"); - message.signatures[i] = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.fromObject(object.signatures[i]); + message.signatures[i] = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.fromObject(object.signatures[i], long + 1); } } if (object.uris) { @@ -101189,7 +105211,7 @@ function ProcessSignature(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -101288,9 +105310,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProcessSignature.decode = function decode(reader, length, error) { + ProcessSignature.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature(); while (reader.pos < end) { var tag = reader.uint32(); @@ -101298,11 +105324,11 @@ break; switch (tag >>> 3) { case 6: { - message.memoryHashSignature = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.decode(reader, reader.uint32()); + message.memoryHashSignature = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.yaraRuleSignature = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.YaraRuleSignature.decode(reader, reader.uint32()); + message.yaraRuleSignature = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.YaraRuleSignature.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { @@ -101310,7 +105336,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -101341,14 +105367,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ProcessSignature.verify = function verify(message) { + ProcessSignature.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.memoryHashSignature != null && message.hasOwnProperty("memoryHashSignature")) { properties.signature = 1; { - var error = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.verify(message.memoryHashSignature); + var error = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.verify(message.memoryHashSignature, long + 1); if (error) return "memoryHashSignature." + error; } @@ -101358,7 +105388,7 @@ return "signature: multiple values"; properties.signature = 1; { - var error = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.YaraRuleSignature.verify(message.yaraRuleSignature); + var error = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.YaraRuleSignature.verify(message.yaraRuleSignature, long + 1); if (error) return "yaraRuleSignature." + error; } @@ -101383,19 +105413,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Indicator.ProcessSignature} ProcessSignature */ - ProcessSignature.fromObject = function fromObject(object) { + ProcessSignature.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature(); if (object.memoryHashSignature != null) { if (typeof object.memoryHashSignature !== "object") throw TypeError(".google.cloud.securitycenter.v2.Indicator.ProcessSignature.memoryHashSignature: object expected"); - message.memoryHashSignature = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.fromObject(object.memoryHashSignature); + message.memoryHashSignature = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.fromObject(object.memoryHashSignature, long + 1); } if (object.yaraRuleSignature != null) { if (typeof object.yaraRuleSignature !== "object") throw TypeError(".google.cloud.securitycenter.v2.Indicator.ProcessSignature.yaraRuleSignature: object expected"); - message.yaraRuleSignature = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.YaraRuleSignature.fromObject(object.yaraRuleSignature); + message.yaraRuleSignature = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.YaraRuleSignature.fromObject(object.yaraRuleSignature, long + 1); } switch (object.signatureType) { default: @@ -101498,7 +105532,7 @@ this.detections = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -101574,9 +105608,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MemoryHashSignature.decode = function decode(reader, length, error) { + MemoryHashSignature.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature(); while (reader.pos < end) { var tag = reader.uint32(); @@ -101590,11 +105628,11 @@ case 4: { if (!(message.detections && message.detections.length)) message.detections = []; - message.detections.push($root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.Detection.decode(reader, reader.uint32())); + message.detections.push($root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.Detection.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -101625,9 +105663,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MemoryHashSignature.verify = function verify(message) { + MemoryHashSignature.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.binaryFamily != null && message.hasOwnProperty("binaryFamily")) if (!$util.isString(message.binaryFamily)) return "binaryFamily: string expected"; @@ -101635,7 +105677,7 @@ if (!Array.isArray(message.detections)) return "detections: array expected"; for (var i = 0; i < message.detections.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.Detection.verify(message.detections[i]); + var error = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.Detection.verify(message.detections[i], long + 1); if (error) return "detections." + error; } @@ -101651,9 +105693,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature} MemoryHashSignature */ - MemoryHashSignature.fromObject = function fromObject(object) { + MemoryHashSignature.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature(); if (object.binaryFamily != null) message.binaryFamily = String(object.binaryFamily); @@ -101664,7 +105710,7 @@ for (var i = 0; i < object.detections.length; ++i) { if (typeof object.detections[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.detections: object expected"); - message.detections[i] = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.Detection.fromObject(object.detections[i]); + message.detections[i] = $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.Detection.fromObject(object.detections[i], long + 1); } } return message; @@ -101744,7 +105790,7 @@ function Detection(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -101819,9 +105865,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Detection.decode = function decode(reader, length, error) { + Detection.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.Detection(); while (reader.pos < end) { var tag = reader.uint32(); @@ -101837,7 +105887,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -101868,9 +105918,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Detection.verify = function verify(message) { + Detection.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.binary != null && message.hasOwnProperty("binary")) if (!$util.isString(message.binary)) return "binary: string expected"; @@ -101888,9 +105942,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.Detection} Detection */ - Detection.fromObject = function fromObject(object) { + Detection.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.Detection) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.MemoryHashSignature.Detection(); if (object.binary != null) message.binary = String(object.binary); @@ -101975,7 +106033,7 @@ function YaraRuleSignature(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -102040,9 +106098,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YaraRuleSignature.decode = function decode(reader, length, error) { + YaraRuleSignature.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.YaraRuleSignature(); while (reader.pos < end) { var tag = reader.uint32(); @@ -102054,7 +106116,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -102085,9 +106147,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - YaraRuleSignature.verify = function verify(message) { + YaraRuleSignature.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.yaraRule != null && message.hasOwnProperty("yaraRule")) if (!$util.isString(message.yaraRule)) return "yaraRule: string expected"; @@ -102102,9 +106168,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Indicator.ProcessSignature.YaraRuleSignature} YaraRuleSignature */ - YaraRuleSignature.fromObject = function fromObject(object) { + YaraRuleSignature.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.YaraRuleSignature) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Indicator.ProcessSignature.YaraRuleSignature(); if (object.yaraRule != null) message.yaraRule = String(object.yaraRule); @@ -102210,7 +106280,7 @@ this.exposedServices = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -102342,9 +106412,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IpRules.decode = function decode(reader, length, error) { + IpRules.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.IpRules(); while (reader.pos < end) { var tag = reader.uint32(); @@ -102356,11 +106430,11 @@ break; } case 2: { - message.allowed = $root.google.cloud.securitycenter.v2.Allowed.decode(reader, reader.uint32()); + message.allowed = $root.google.cloud.securitycenter.v2.Allowed.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.denied = $root.google.cloud.securitycenter.v2.Denied.decode(reader, reader.uint32()); + message.denied = $root.google.cloud.securitycenter.v2.Denied.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -102382,7 +106456,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -102413,9 +106487,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - IpRules.verify = function verify(message) { + IpRules.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.direction != null && message.hasOwnProperty("direction")) switch (message.direction) { @@ -102429,7 +106507,7 @@ if (message.allowed != null && message.hasOwnProperty("allowed")) { properties.rules = 1; { - var error = $root.google.cloud.securitycenter.v2.Allowed.verify(message.allowed); + var error = $root.google.cloud.securitycenter.v2.Allowed.verify(message.allowed, long + 1); if (error) return "allowed." + error; } @@ -102439,7 +106517,7 @@ return "rules: multiple values"; properties.rules = 1; { - var error = $root.google.cloud.securitycenter.v2.Denied.verify(message.denied); + var error = $root.google.cloud.securitycenter.v2.Denied.verify(message.denied, long + 1); if (error) return "denied." + error; } @@ -102476,9 +106554,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.IpRules} IpRules */ - IpRules.fromObject = function fromObject(object) { + IpRules.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.IpRules) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.IpRules(); switch (object.direction) { default: @@ -102503,12 +106585,12 @@ if (object.allowed != null) { if (typeof object.allowed !== "object") throw TypeError(".google.cloud.securitycenter.v2.IpRules.allowed: object expected"); - message.allowed = $root.google.cloud.securitycenter.v2.Allowed.fromObject(object.allowed); + message.allowed = $root.google.cloud.securitycenter.v2.Allowed.fromObject(object.allowed, long + 1); } if (object.denied != null) { if (typeof object.denied !== "object") throw TypeError(".google.cloud.securitycenter.v2.IpRules.denied: object expected"); - message.denied = $root.google.cloud.securitycenter.v2.Denied.fromObject(object.denied); + message.denied = $root.google.cloud.securitycenter.v2.Denied.fromObject(object.denied, long + 1); } if (object.sourceIpRanges) { if (!Array.isArray(object.sourceIpRanges)) @@ -102651,7 +106733,7 @@ this.portRanges = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -102727,9 +106809,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IpRule.decode = function decode(reader, length, error) { + IpRule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.IpRule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -102743,11 +106829,11 @@ case 2: { if (!(message.portRanges && message.portRanges.length)) message.portRanges = []; - message.portRanges.push($root.google.cloud.securitycenter.v2.IpRule.PortRange.decode(reader, reader.uint32())); + message.portRanges.push($root.google.cloud.securitycenter.v2.IpRule.PortRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -102778,9 +106864,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - IpRule.verify = function verify(message) { + IpRule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.protocol != null && message.hasOwnProperty("protocol")) if (!$util.isString(message.protocol)) return "protocol: string expected"; @@ -102788,7 +106878,7 @@ if (!Array.isArray(message.portRanges)) return "portRanges: array expected"; for (var i = 0; i < message.portRanges.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.IpRule.PortRange.verify(message.portRanges[i]); + var error = $root.google.cloud.securitycenter.v2.IpRule.PortRange.verify(message.portRanges[i], long + 1); if (error) return "portRanges." + error; } @@ -102804,9 +106894,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.IpRule} IpRule */ - IpRule.fromObject = function fromObject(object) { + IpRule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.IpRule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.IpRule(); if (object.protocol != null) message.protocol = String(object.protocol); @@ -102817,7 +106911,7 @@ for (var i = 0; i < object.portRanges.length; ++i) { if (typeof object.portRanges[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.IpRule.portRanges: object expected"); - message.portRanges[i] = $root.google.cloud.securitycenter.v2.IpRule.PortRange.fromObject(object.portRanges[i]); + message.portRanges[i] = $root.google.cloud.securitycenter.v2.IpRule.PortRange.fromObject(object.portRanges[i], long + 1); } } return message; @@ -102897,7 +106991,7 @@ function PortRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -102972,9 +107066,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PortRange.decode = function decode(reader, length, error) { + PortRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.IpRule.PortRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -102990,7 +107088,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -103021,9 +107119,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PortRange.verify = function verify(message) { + PortRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.min != null && message.hasOwnProperty("min")) if (!$util.isInteger(message.min) && !(message.min && $util.isInteger(message.min.low) && $util.isInteger(message.min.high))) return "min: integer|Long expected"; @@ -103041,9 +107143,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.IpRule.PortRange} PortRange */ - PortRange.fromObject = function fromObject(object) { + PortRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.IpRule.PortRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.IpRule.PortRange(); if (object.min != null) if ($util.Long) @@ -103157,7 +107263,7 @@ this.ipRules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -103223,9 +107329,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Allowed.decode = function decode(reader, length, error) { + Allowed.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Allowed(); while (reader.pos < end) { var tag = reader.uint32(); @@ -103235,11 +107345,11 @@ case 1: { if (!(message.ipRules && message.ipRules.length)) message.ipRules = []; - message.ipRules.push($root.google.cloud.securitycenter.v2.IpRule.decode(reader, reader.uint32())); + message.ipRules.push($root.google.cloud.securitycenter.v2.IpRule.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -103270,14 +107380,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Allowed.verify = function verify(message) { + Allowed.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ipRules != null && message.hasOwnProperty("ipRules")) { if (!Array.isArray(message.ipRules)) return "ipRules: array expected"; for (var i = 0; i < message.ipRules.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.IpRule.verify(message.ipRules[i]); + var error = $root.google.cloud.securitycenter.v2.IpRule.verify(message.ipRules[i], long + 1); if (error) return "ipRules." + error; } @@ -103293,9 +107407,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Allowed} Allowed */ - Allowed.fromObject = function fromObject(object) { + Allowed.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Allowed) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Allowed(); if (object.ipRules) { if (!Array.isArray(object.ipRules)) @@ -103304,7 +107422,7 @@ for (var i = 0; i < object.ipRules.length; ++i) { if (typeof object.ipRules[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Allowed.ipRules: object expected"); - message.ipRules[i] = $root.google.cloud.securitycenter.v2.IpRule.fromObject(object.ipRules[i]); + message.ipRules[i] = $root.google.cloud.securitycenter.v2.IpRule.fromObject(object.ipRules[i], long + 1); } } return message; @@ -103383,7 +107501,7 @@ this.ipRules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -103449,9 +107567,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Denied.decode = function decode(reader, length, error) { + Denied.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Denied(); while (reader.pos < end) { var tag = reader.uint32(); @@ -103461,11 +107583,11 @@ case 1: { if (!(message.ipRules && message.ipRules.length)) message.ipRules = []; - message.ipRules.push($root.google.cloud.securitycenter.v2.IpRule.decode(reader, reader.uint32())); + message.ipRules.push($root.google.cloud.securitycenter.v2.IpRule.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -103496,14 +107618,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Denied.verify = function verify(message) { + Denied.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ipRules != null && message.hasOwnProperty("ipRules")) { if (!Array.isArray(message.ipRules)) return "ipRules: array expected"; for (var i = 0; i < message.ipRules.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.IpRule.verify(message.ipRules[i]); + var error = $root.google.cloud.securitycenter.v2.IpRule.verify(message.ipRules[i], long + 1); if (error) return "ipRules." + error; } @@ -103519,9 +107645,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Denied} Denied */ - Denied.fromObject = function fromObject(object) { + Denied.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Denied) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Denied(); if (object.ipRules) { if (!Array.isArray(object.ipRules)) @@ -103530,7 +107660,7 @@ for (var i = 0; i < object.ipRules.length; ++i) { if (typeof object.ipRules[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Denied.ipRules: object expected"); - message.ipRules[i] = $root.google.cloud.securitycenter.v2.IpRule.fromObject(object.ipRules[i]); + message.ipRules[i] = $root.google.cloud.securitycenter.v2.IpRule.fromObject(object.ipRules[i], long + 1); } } return message; @@ -103611,7 +107741,7 @@ function Job(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -103706,9 +107836,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Job.decode = function decode(reader, length, error) { + Job.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Job(); while (reader.pos < end) { var tag = reader.uint32(); @@ -103732,7 +107866,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -103763,9 +107897,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Job.verify = function verify(message) { + Job.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -103797,9 +107935,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Job} Job */ - Job.fromObject = function fromObject(object) { + Job.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Job) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Job(); if (object.name != null) message.name = String(object.name); @@ -103945,7 +108087,7 @@ function KernelRootkit(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -104090,9 +108232,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KernelRootkit.decode = function decode(reader, length, error) { + KernelRootkit.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.KernelRootkit(); while (reader.pos < end) { var tag = reader.uint32(); @@ -104136,7 +108282,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -104167,9 +108313,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - KernelRootkit.verify = function verify(message) { + KernelRootkit.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -104208,9 +108358,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.KernelRootkit} KernelRootkit */ - KernelRootkit.fromObject = function fromObject(object) { + KernelRootkit.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.KernelRootkit) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.KernelRootkit(); if (object.name != null) message.name = String(object.name); @@ -104340,7 +108494,7 @@ this.objects = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -104472,9 +108626,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Kubernetes.decode = function decode(reader, length, error) { + Kubernetes.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Kubernetes(); while (reader.pos < end) { var tag = reader.uint32(); @@ -104484,47 +108642,47 @@ case 1: { if (!(message.pods && message.pods.length)) message.pods = []; - message.pods.push($root.google.cloud.securitycenter.v2.Kubernetes.Pod.decode(reader, reader.uint32())); + message.pods.push($root.google.cloud.securitycenter.v2.Kubernetes.Pod.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.nodes && message.nodes.length)) message.nodes = []; - message.nodes.push($root.google.cloud.securitycenter.v2.Kubernetes.Node.decode(reader, reader.uint32())); + message.nodes.push($root.google.cloud.securitycenter.v2.Kubernetes.Node.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { if (!(message.nodePools && message.nodePools.length)) message.nodePools = []; - message.nodePools.push($root.google.cloud.securitycenter.v2.Kubernetes.NodePool.decode(reader, reader.uint32())); + message.nodePools.push($root.google.cloud.securitycenter.v2.Kubernetes.NodePool.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { if (!(message.roles && message.roles.length)) message.roles = []; - message.roles.push($root.google.cloud.securitycenter.v2.Kubernetes.Role.decode(reader, reader.uint32())); + message.roles.push($root.google.cloud.securitycenter.v2.Kubernetes.Role.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.bindings && message.bindings.length)) message.bindings = []; - message.bindings.push($root.google.cloud.securitycenter.v2.Kubernetes.Binding.decode(reader, reader.uint32())); + message.bindings.push($root.google.cloud.securitycenter.v2.Kubernetes.Binding.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.accessReviews && message.accessReviews.length)) message.accessReviews = []; - message.accessReviews.push($root.google.cloud.securitycenter.v2.Kubernetes.AccessReview.decode(reader, reader.uint32())); + message.accessReviews.push($root.google.cloud.securitycenter.v2.Kubernetes.AccessReview.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { if (!(message.objects && message.objects.length)) message.objects = []; - message.objects.push($root.google.cloud.securitycenter.v2.Kubernetes.Object.decode(reader, reader.uint32())); + message.objects.push($root.google.cloud.securitycenter.v2.Kubernetes.Object.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -104555,14 +108713,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Kubernetes.verify = function verify(message) { + Kubernetes.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.pods != null && message.hasOwnProperty("pods")) { if (!Array.isArray(message.pods)) return "pods: array expected"; for (var i = 0; i < message.pods.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Kubernetes.Pod.verify(message.pods[i]); + var error = $root.google.cloud.securitycenter.v2.Kubernetes.Pod.verify(message.pods[i], long + 1); if (error) return "pods." + error; } @@ -104571,7 +108733,7 @@ if (!Array.isArray(message.nodes)) return "nodes: array expected"; for (var i = 0; i < message.nodes.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Kubernetes.Node.verify(message.nodes[i]); + var error = $root.google.cloud.securitycenter.v2.Kubernetes.Node.verify(message.nodes[i], long + 1); if (error) return "nodes." + error; } @@ -104580,7 +108742,7 @@ if (!Array.isArray(message.nodePools)) return "nodePools: array expected"; for (var i = 0; i < message.nodePools.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Kubernetes.NodePool.verify(message.nodePools[i]); + var error = $root.google.cloud.securitycenter.v2.Kubernetes.NodePool.verify(message.nodePools[i], long + 1); if (error) return "nodePools." + error; } @@ -104589,7 +108751,7 @@ if (!Array.isArray(message.roles)) return "roles: array expected"; for (var i = 0; i < message.roles.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Kubernetes.Role.verify(message.roles[i]); + var error = $root.google.cloud.securitycenter.v2.Kubernetes.Role.verify(message.roles[i], long + 1); if (error) return "roles." + error; } @@ -104598,7 +108760,7 @@ if (!Array.isArray(message.bindings)) return "bindings: array expected"; for (var i = 0; i < message.bindings.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Kubernetes.Binding.verify(message.bindings[i]); + var error = $root.google.cloud.securitycenter.v2.Kubernetes.Binding.verify(message.bindings[i], long + 1); if (error) return "bindings." + error; } @@ -104607,7 +108769,7 @@ if (!Array.isArray(message.accessReviews)) return "accessReviews: array expected"; for (var i = 0; i < message.accessReviews.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Kubernetes.AccessReview.verify(message.accessReviews[i]); + var error = $root.google.cloud.securitycenter.v2.Kubernetes.AccessReview.verify(message.accessReviews[i], long + 1); if (error) return "accessReviews." + error; } @@ -104616,7 +108778,7 @@ if (!Array.isArray(message.objects)) return "objects: array expected"; for (var i = 0; i < message.objects.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Kubernetes.Object.verify(message.objects[i]); + var error = $root.google.cloud.securitycenter.v2.Kubernetes.Object.verify(message.objects[i], long + 1); if (error) return "objects." + error; } @@ -104632,9 +108794,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Kubernetes} Kubernetes */ - Kubernetes.fromObject = function fromObject(object) { + Kubernetes.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Kubernetes) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Kubernetes(); if (object.pods) { if (!Array.isArray(object.pods)) @@ -104643,7 +108809,7 @@ for (var i = 0; i < object.pods.length; ++i) { if (typeof object.pods[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Kubernetes.pods: object expected"); - message.pods[i] = $root.google.cloud.securitycenter.v2.Kubernetes.Pod.fromObject(object.pods[i]); + message.pods[i] = $root.google.cloud.securitycenter.v2.Kubernetes.Pod.fromObject(object.pods[i], long + 1); } } if (object.nodes) { @@ -104653,7 +108819,7 @@ for (var i = 0; i < object.nodes.length; ++i) { if (typeof object.nodes[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Kubernetes.nodes: object expected"); - message.nodes[i] = $root.google.cloud.securitycenter.v2.Kubernetes.Node.fromObject(object.nodes[i]); + message.nodes[i] = $root.google.cloud.securitycenter.v2.Kubernetes.Node.fromObject(object.nodes[i], long + 1); } } if (object.nodePools) { @@ -104663,7 +108829,7 @@ for (var i = 0; i < object.nodePools.length; ++i) { if (typeof object.nodePools[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Kubernetes.nodePools: object expected"); - message.nodePools[i] = $root.google.cloud.securitycenter.v2.Kubernetes.NodePool.fromObject(object.nodePools[i]); + message.nodePools[i] = $root.google.cloud.securitycenter.v2.Kubernetes.NodePool.fromObject(object.nodePools[i], long + 1); } } if (object.roles) { @@ -104673,7 +108839,7 @@ for (var i = 0; i < object.roles.length; ++i) { if (typeof object.roles[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Kubernetes.roles: object expected"); - message.roles[i] = $root.google.cloud.securitycenter.v2.Kubernetes.Role.fromObject(object.roles[i]); + message.roles[i] = $root.google.cloud.securitycenter.v2.Kubernetes.Role.fromObject(object.roles[i], long + 1); } } if (object.bindings) { @@ -104683,7 +108849,7 @@ for (var i = 0; i < object.bindings.length; ++i) { if (typeof object.bindings[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Kubernetes.bindings: object expected"); - message.bindings[i] = $root.google.cloud.securitycenter.v2.Kubernetes.Binding.fromObject(object.bindings[i]); + message.bindings[i] = $root.google.cloud.securitycenter.v2.Kubernetes.Binding.fromObject(object.bindings[i], long + 1); } } if (object.accessReviews) { @@ -104693,7 +108859,7 @@ for (var i = 0; i < object.accessReviews.length; ++i) { if (typeof object.accessReviews[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Kubernetes.accessReviews: object expected"); - message.accessReviews[i] = $root.google.cloud.securitycenter.v2.Kubernetes.AccessReview.fromObject(object.accessReviews[i]); + message.accessReviews[i] = $root.google.cloud.securitycenter.v2.Kubernetes.AccessReview.fromObject(object.accessReviews[i], long + 1); } } if (object.objects) { @@ -104703,7 +108869,7 @@ for (var i = 0; i < object.objects.length; ++i) { if (typeof object.objects[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Kubernetes.objects: object expected"); - message.objects[i] = $root.google.cloud.securitycenter.v2.Kubernetes.Object.fromObject(object.objects[i]); + message.objects[i] = $root.google.cloud.securitycenter.v2.Kubernetes.Object.fromObject(object.objects[i], long + 1); } } return message; @@ -104820,7 +108986,7 @@ this.containers = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -104917,9 +109083,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Pod.decode = function decode(reader, length, error) { + Pod.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Kubernetes.Pod(); while (reader.pos < end) { var tag = reader.uint32(); @@ -104937,17 +109107,17 @@ case 3: { if (!(message.labels && message.labels.length)) message.labels = []; - message.labels.push($root.google.cloud.securitycenter.v2.Label.decode(reader, reader.uint32())); + message.labels.push($root.google.cloud.securitycenter.v2.Label.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { if (!(message.containers && message.containers.length)) message.containers = []; - message.containers.push($root.google.cloud.securitycenter.v2.Container.decode(reader, reader.uint32())); + message.containers.push($root.google.cloud.securitycenter.v2.Container.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -104978,9 +109148,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Pod.verify = function verify(message) { + Pod.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ns != null && message.hasOwnProperty("ns")) if (!$util.isString(message.ns)) return "ns: string expected"; @@ -104991,7 +109165,7 @@ if (!Array.isArray(message.labels)) return "labels: array expected"; for (var i = 0; i < message.labels.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Label.verify(message.labels[i]); + var error = $root.google.cloud.securitycenter.v2.Label.verify(message.labels[i], long + 1); if (error) return "labels." + error; } @@ -105000,7 +109174,7 @@ if (!Array.isArray(message.containers)) return "containers: array expected"; for (var i = 0; i < message.containers.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Container.verify(message.containers[i]); + var error = $root.google.cloud.securitycenter.v2.Container.verify(message.containers[i], long + 1); if (error) return "containers." + error; } @@ -105016,9 +109190,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Kubernetes.Pod} Pod */ - Pod.fromObject = function fromObject(object) { + Pod.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Kubernetes.Pod) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Kubernetes.Pod(); if (object.ns != null) message.ns = String(object.ns); @@ -105031,7 +109209,7 @@ for (var i = 0; i < object.labels.length; ++i) { if (typeof object.labels[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Kubernetes.Pod.labels: object expected"); - message.labels[i] = $root.google.cloud.securitycenter.v2.Label.fromObject(object.labels[i]); + message.labels[i] = $root.google.cloud.securitycenter.v2.Label.fromObject(object.labels[i], long + 1); } } if (object.containers) { @@ -105041,7 +109219,7 @@ for (var i = 0; i < object.containers.length; ++i) { if (typeof object.containers[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Kubernetes.Pod.containers: object expected"); - message.containers[i] = $root.google.cloud.securitycenter.v2.Container.fromObject(object.containers[i]); + message.containers[i] = $root.google.cloud.securitycenter.v2.Container.fromObject(object.containers[i], long + 1); } } return message; @@ -105134,7 +109312,7 @@ function Node(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -105199,9 +109377,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Node.decode = function decode(reader, length, error) { + Node.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Kubernetes.Node(); while (reader.pos < end) { var tag = reader.uint32(); @@ -105213,7 +109395,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -105244,9 +109426,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Node.verify = function verify(message) { + Node.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -105261,9 +109447,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Kubernetes.Node} Node */ - Node.fromObject = function fromObject(object) { + Node.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Kubernetes.Node) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Kubernetes.Node(); if (object.name != null) message.name = String(object.name); @@ -105341,7 +109531,7 @@ this.nodes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -105417,9 +109607,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NodePool.decode = function decode(reader, length, error) { + NodePool.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Kubernetes.NodePool(); while (reader.pos < end) { var tag = reader.uint32(); @@ -105433,11 +109627,11 @@ case 2: { if (!(message.nodes && message.nodes.length)) message.nodes = []; - message.nodes.push($root.google.cloud.securitycenter.v2.Kubernetes.Node.decode(reader, reader.uint32())); + message.nodes.push($root.google.cloud.securitycenter.v2.Kubernetes.Node.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -105468,9 +109662,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NodePool.verify = function verify(message) { + NodePool.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -105478,7 +109676,7 @@ if (!Array.isArray(message.nodes)) return "nodes: array expected"; for (var i = 0; i < message.nodes.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Kubernetes.Node.verify(message.nodes[i]); + var error = $root.google.cloud.securitycenter.v2.Kubernetes.Node.verify(message.nodes[i], long + 1); if (error) return "nodes." + error; } @@ -105494,9 +109692,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Kubernetes.NodePool} NodePool */ - NodePool.fromObject = function fromObject(object) { + NodePool.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Kubernetes.NodePool) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Kubernetes.NodePool(); if (object.name != null) message.name = String(object.name); @@ -105507,7 +109709,7 @@ for (var i = 0; i < object.nodes.length; ++i) { if (typeof object.nodes[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Kubernetes.NodePool.nodes: object expected"); - message.nodes[i] = $root.google.cloud.securitycenter.v2.Kubernetes.Node.fromObject(object.nodes[i]); + message.nodes[i] = $root.google.cloud.securitycenter.v2.Kubernetes.Node.fromObject(object.nodes[i], long + 1); } } return message; @@ -105591,7 +109793,7 @@ function Role(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -105676,9 +109878,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Role.decode = function decode(reader, length, error) { + Role.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Kubernetes.Role(); while (reader.pos < end) { var tag = reader.uint32(); @@ -105698,7 +109904,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -105729,9 +109935,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Role.verify = function verify(message) { + Role.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.kind != null && message.hasOwnProperty("kind")) switch (message.kind) { default: @@ -105758,9 +109968,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Kubernetes.Role} Role */ - Role.fromObject = function fromObject(object) { + Role.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Kubernetes.Role) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Kubernetes.Role(); switch (object.kind) { default: @@ -105885,7 +110099,7 @@ this.subjects = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -105981,9 +110195,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Binding.decode = function decode(reader, length, error) { + Binding.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Kubernetes.Binding(); while (reader.pos < end) { var tag = reader.uint32(); @@ -105999,17 +110217,17 @@ break; } case 3: { - message.role = $root.google.cloud.securitycenter.v2.Kubernetes.Role.decode(reader, reader.uint32()); + message.role = $root.google.cloud.securitycenter.v2.Kubernetes.Role.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { if (!(message.subjects && message.subjects.length)) message.subjects = []; - message.subjects.push($root.google.cloud.securitycenter.v2.Kubernetes.Subject.decode(reader, reader.uint32())); + message.subjects.push($root.google.cloud.securitycenter.v2.Kubernetes.Subject.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -106040,9 +110258,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Binding.verify = function verify(message) { + Binding.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ns != null && message.hasOwnProperty("ns")) if (!$util.isString(message.ns)) return "ns: string expected"; @@ -106050,7 +110272,7 @@ if (!$util.isString(message.name)) return "name: string expected"; if (message.role != null && message.hasOwnProperty("role")) { - var error = $root.google.cloud.securitycenter.v2.Kubernetes.Role.verify(message.role); + var error = $root.google.cloud.securitycenter.v2.Kubernetes.Role.verify(message.role, long + 1); if (error) return "role." + error; } @@ -106058,7 +110280,7 @@ if (!Array.isArray(message.subjects)) return "subjects: array expected"; for (var i = 0; i < message.subjects.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Kubernetes.Subject.verify(message.subjects[i]); + var error = $root.google.cloud.securitycenter.v2.Kubernetes.Subject.verify(message.subjects[i], long + 1); if (error) return "subjects." + error; } @@ -106074,9 +110296,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Kubernetes.Binding} Binding */ - Binding.fromObject = function fromObject(object) { + Binding.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Kubernetes.Binding) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Kubernetes.Binding(); if (object.ns != null) message.ns = String(object.ns); @@ -106085,7 +110311,7 @@ if (object.role != null) { if (typeof object.role !== "object") throw TypeError(".google.cloud.securitycenter.v2.Kubernetes.Binding.role: object expected"); - message.role = $root.google.cloud.securitycenter.v2.Kubernetes.Role.fromObject(object.role); + message.role = $root.google.cloud.securitycenter.v2.Kubernetes.Role.fromObject(object.role, long + 1); } if (object.subjects) { if (!Array.isArray(object.subjects)) @@ -106094,7 +110320,7 @@ for (var i = 0; i < object.subjects.length; ++i) { if (typeof object.subjects[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Kubernetes.Binding.subjects: object expected"); - message.subjects[i] = $root.google.cloud.securitycenter.v2.Kubernetes.Subject.fromObject(object.subjects[i]); + message.subjects[i] = $root.google.cloud.securitycenter.v2.Kubernetes.Subject.fromObject(object.subjects[i], long + 1); } } return message; @@ -106185,7 +110411,7 @@ function Subject(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -106270,9 +110496,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Subject.decode = function decode(reader, length, error) { + Subject.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Kubernetes.Subject(); while (reader.pos < end) { var tag = reader.uint32(); @@ -106292,7 +110522,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -106323,9 +110553,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Subject.verify = function verify(message) { + Subject.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.kind != null && message.hasOwnProperty("kind")) switch (message.kind) { default: @@ -106353,9 +110587,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Kubernetes.Subject} Subject */ - Subject.fromObject = function fromObject(object) { + Subject.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Kubernetes.Subject) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Kubernetes.Subject(); switch (object.kind) { default: @@ -106488,7 +110726,7 @@ function AccessReview(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -106613,9 +110851,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccessReview.decode = function decode(reader, length, error) { + AccessReview.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Kubernetes.AccessReview(); while (reader.pos < end) { var tag = reader.uint32(); @@ -106651,7 +110893,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -106682,9 +110924,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AccessReview.verify = function verify(message) { + AccessReview.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.group != null && message.hasOwnProperty("group")) if (!$util.isString(message.group)) return "group: string expected"; @@ -106717,9 +110963,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Kubernetes.AccessReview} AccessReview */ - AccessReview.fromObject = function fromObject(object) { + AccessReview.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Kubernetes.AccessReview) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Kubernetes.AccessReview(); if (object.group != null) message.group = String(object.group); @@ -106831,7 +111081,7 @@ this.containers = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -106937,9 +111187,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Object.decode = function decode(reader, length, error) { + Object.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Kubernetes.Object(); while (reader.pos < end) { var tag = reader.uint32(); @@ -106965,11 +111219,11 @@ case 5: { if (!(message.containers && message.containers.length)) message.containers = []; - message.containers.push($root.google.cloud.securitycenter.v2.Container.decode(reader, reader.uint32())); + message.containers.push($root.google.cloud.securitycenter.v2.Container.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -107000,9 +111254,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Object.verify = function verify(message) { + Object.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.group != null && message.hasOwnProperty("group")) if (!$util.isString(message.group)) return "group: string expected"; @@ -107019,7 +111277,7 @@ if (!Array.isArray(message.containers)) return "containers: array expected"; for (var i = 0; i < message.containers.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Container.verify(message.containers[i]); + var error = $root.google.cloud.securitycenter.v2.Container.verify(message.containers[i], long + 1); if (error) return "containers." + error; } @@ -107035,9 +111293,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Kubernetes.Object} Object */ - Object.fromObject = function fromObject(object) { + Object.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Kubernetes.Object) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Kubernetes.Object(); if (object.group != null) message.group = String(object.group); @@ -107054,7 +111316,7 @@ for (var i = 0; i < object.containers.length; ++i) { if (typeof object.containers[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Kubernetes.Object.containers: object expected"); - message.containers[i] = $root.google.cloud.securitycenter.v2.Container.fromObject(object.containers[i]); + message.containers[i] = $root.google.cloud.securitycenter.v2.Container.fromObject(object.containers[i], long + 1); } } return message; @@ -107149,7 +111411,7 @@ function LoadBalancer(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -107214,9 +111476,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LoadBalancer.decode = function decode(reader, length, error) { + LoadBalancer.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.LoadBalancer(); while (reader.pos < end) { var tag = reader.uint32(); @@ -107228,7 +111494,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -107259,9 +111525,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LoadBalancer.verify = function verify(message) { + LoadBalancer.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -107276,9 +111546,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.LoadBalancer} LoadBalancer */ - LoadBalancer.fromObject = function fromObject(object) { + LoadBalancer.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.LoadBalancer) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.LoadBalancer(); if (object.name != null) message.name = String(object.name); @@ -107354,7 +111628,7 @@ function LogEntry(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -107433,9 +111707,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LogEntry.decode = function decode(reader, length, error) { + LogEntry.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.LogEntry(); while (reader.pos < end) { var tag = reader.uint32(); @@ -107443,11 +111721,11 @@ break; switch (tag >>> 3) { case 1: { - message.cloudLoggingEntry = $root.google.cloud.securitycenter.v2.CloudLoggingEntry.decode(reader, reader.uint32()); + message.cloudLoggingEntry = $root.google.cloud.securitycenter.v2.CloudLoggingEntry.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -107478,14 +111756,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LogEntry.verify = function verify(message) { + LogEntry.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.cloudLoggingEntry != null && message.hasOwnProperty("cloudLoggingEntry")) { properties.logEntry = 1; { - var error = $root.google.cloud.securitycenter.v2.CloudLoggingEntry.verify(message.cloudLoggingEntry); + var error = $root.google.cloud.securitycenter.v2.CloudLoggingEntry.verify(message.cloudLoggingEntry, long + 1); if (error) return "cloudLoggingEntry." + error; } @@ -107501,14 +111783,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.LogEntry} LogEntry */ - LogEntry.fromObject = function fromObject(object) { + LogEntry.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.LogEntry) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.LogEntry(); if (object.cloudLoggingEntry != null) { if (typeof object.cloudLoggingEntry !== "object") throw TypeError(".google.cloud.securitycenter.v2.LogEntry.cloudLoggingEntry: object expected"); - message.cloudLoggingEntry = $root.google.cloud.securitycenter.v2.CloudLoggingEntry.fromObject(object.cloudLoggingEntry); + message.cloudLoggingEntry = $root.google.cloud.securitycenter.v2.CloudLoggingEntry.fromObject(object.cloudLoggingEntry, long + 1); } return message; }; @@ -107586,7 +111872,7 @@ function CloudLoggingEntry(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -107681,9 +111967,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CloudLoggingEntry.decode = function decode(reader, length, error) { + CloudLoggingEntry.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.CloudLoggingEntry(); while (reader.pos < end) { var tag = reader.uint32(); @@ -107703,11 +111993,11 @@ break; } case 4: { - message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -107738,9 +112028,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CloudLoggingEntry.verify = function verify(message) { + CloudLoggingEntry.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.insertId != null && message.hasOwnProperty("insertId")) if (!$util.isString(message.insertId)) return "insertId: string expected"; @@ -107751,7 +112045,7 @@ if (!$util.isString(message.resourceContainer)) return "resourceContainer: string expected"; if (message.timestamp != null && message.hasOwnProperty("timestamp")) { - var error = $root.google.protobuf.Timestamp.verify(message.timestamp); + var error = $root.google.protobuf.Timestamp.verify(message.timestamp, long + 1); if (error) return "timestamp." + error; } @@ -107766,9 +112060,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.CloudLoggingEntry} CloudLoggingEntry */ - CloudLoggingEntry.fromObject = function fromObject(object) { + CloudLoggingEntry.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.CloudLoggingEntry) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.CloudLoggingEntry(); if (object.insertId != null) message.insertId = String(object.insertId); @@ -107779,7 +112077,7 @@ if (object.timestamp != null) { if (typeof object.timestamp !== "object") throw TypeError(".google.cloud.securitycenter.v2.CloudLoggingEntry.timestamp: object expected"); - message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); + message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp, long + 1); } return message; }; @@ -107870,7 +112168,7 @@ this.additionalTechniques = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -107987,9 +112285,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MitreAttack.decode = function decode(reader, length, error) { + MitreAttack.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.MitreAttack(); while (reader.pos < end) { var tag = reader.uint32(); @@ -108038,7 +112340,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -108069,9 +112371,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MitreAttack.verify = function verify(message) { + MitreAttack.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.primaryTactic != null && message.hasOwnProperty("primaryTactic")) switch (message.primaryTactic) { default: @@ -108428,9 +112734,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.MitreAttack} MitreAttack */ - MitreAttack.fromObject = function fromObject(object) { + MitreAttack.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.MitreAttack) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.MitreAttack(); switch (object.primaryTactic) { default: @@ -110127,7 +114437,7 @@ function Network(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -110192,9 +114502,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Network.decode = function decode(reader, length, error) { + Network.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Network(); while (reader.pos < end) { var tag = reader.uint32(); @@ -110206,7 +114520,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -110237,9 +114551,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Network.verify = function verify(message) { + Network.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -110254,9 +114572,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Network} Network */ - Network.fromObject = function fromObject(object) { + Network.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Network) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Network(); if (object.name != null) message.name = String(object.name); @@ -110335,7 +114657,7 @@ function Notebook(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -110430,9 +114752,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Notebook.decode = function decode(reader, length, error) { + Notebook.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Notebook(); while (reader.pos < end) { var tag = reader.uint32(); @@ -110452,11 +114778,11 @@ break; } case 4: { - message.notebookUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.notebookUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -110487,9 +114813,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Notebook.verify = function verify(message) { + Notebook.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -110500,7 +114830,7 @@ if (!$util.isString(message.lastAuthor)) return "lastAuthor: string expected"; if (message.notebookUpdateTime != null && message.hasOwnProperty("notebookUpdateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.notebookUpdateTime); + var error = $root.google.protobuf.Timestamp.verify(message.notebookUpdateTime, long + 1); if (error) return "notebookUpdateTime." + error; } @@ -110515,9 +114845,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Notebook} Notebook */ - Notebook.fromObject = function fromObject(object) { + Notebook.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Notebook) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Notebook(); if (object.name != null) message.name = String(object.name); @@ -110528,7 +114862,7 @@ if (object.notebookUpdateTime != null) { if (typeof object.notebookUpdateTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.Notebook.notebookUpdateTime: object expected"); - message.notebookUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.notebookUpdateTime); + message.notebookUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.notebookUpdateTime, long + 1); } return message; }; @@ -110612,7 +114946,7 @@ function OrgPolicy(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -110677,9 +115011,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OrgPolicy.decode = function decode(reader, length, error) { + OrgPolicy.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.OrgPolicy(); while (reader.pos < end) { var tag = reader.uint32(); @@ -110691,7 +115029,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -110722,9 +115060,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OrgPolicy.verify = function verify(message) { + OrgPolicy.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -110739,9 +115081,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.OrgPolicy} OrgPolicy */ - OrgPolicy.fromObject = function fromObject(object) { + OrgPolicy.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.OrgPolicy) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.OrgPolicy(); if (object.name != null) message.name = String(object.name); @@ -110830,7 +115176,7 @@ this.envVariables = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -110998,9 +115344,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Process.decode = function decode(reader, length, error) { + Process.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Process(); while (reader.pos < end) { var tag = reader.uint32(); @@ -111012,17 +115362,17 @@ break; } case 2: { - message.binary = $root.google.cloud.securitycenter.v2.File.decode(reader, reader.uint32()); + message.binary = $root.google.cloud.securitycenter.v2.File.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { if (!(message.libraries && message.libraries.length)) message.libraries = []; - message.libraries.push($root.google.cloud.securitycenter.v2.File.decode(reader, reader.uint32())); + message.libraries.push($root.google.cloud.securitycenter.v2.File.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { - message.script = $root.google.cloud.securitycenter.v2.File.decode(reader, reader.uint32()); + message.script = $root.google.cloud.securitycenter.v2.File.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -111038,7 +115388,7 @@ case 7: { if (!(message.envVariables && message.envVariables.length)) message.envVariables = []; - message.envVariables.push($root.google.cloud.securitycenter.v2.EnvironmentVariable.decode(reader, reader.uint32())); + message.envVariables.push($root.google.cloud.securitycenter.v2.EnvironmentVariable.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { @@ -111058,7 +115408,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -111089,14 +115439,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Process.verify = function verify(message) { + Process.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.binary != null && message.hasOwnProperty("binary")) { - var error = $root.google.cloud.securitycenter.v2.File.verify(message.binary); + var error = $root.google.cloud.securitycenter.v2.File.verify(message.binary, long + 1); if (error) return "binary." + error; } @@ -111104,13 +115458,13 @@ if (!Array.isArray(message.libraries)) return "libraries: array expected"; for (var i = 0; i < message.libraries.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.File.verify(message.libraries[i]); + var error = $root.google.cloud.securitycenter.v2.File.verify(message.libraries[i], long + 1); if (error) return "libraries." + error; } } if (message.script != null && message.hasOwnProperty("script")) { - var error = $root.google.cloud.securitycenter.v2.File.verify(message.script); + var error = $root.google.cloud.securitycenter.v2.File.verify(message.script, long + 1); if (error) return "script." + error; } @@ -111128,7 +115482,7 @@ if (!Array.isArray(message.envVariables)) return "envVariables: array expected"; for (var i = 0; i < message.envVariables.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.EnvironmentVariable.verify(message.envVariables[i]); + var error = $root.google.cloud.securitycenter.v2.EnvironmentVariable.verify(message.envVariables[i], long + 1); if (error) return "envVariables." + error; } @@ -111156,16 +115510,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Process} Process */ - Process.fromObject = function fromObject(object) { + Process.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Process) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Process(); if (object.name != null) message.name = String(object.name); if (object.binary != null) { if (typeof object.binary !== "object") throw TypeError(".google.cloud.securitycenter.v2.Process.binary: object expected"); - message.binary = $root.google.cloud.securitycenter.v2.File.fromObject(object.binary); + message.binary = $root.google.cloud.securitycenter.v2.File.fromObject(object.binary, long + 1); } if (object.libraries) { if (!Array.isArray(object.libraries)) @@ -111174,13 +115532,13 @@ for (var i = 0; i < object.libraries.length; ++i) { if (typeof object.libraries[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Process.libraries: object expected"); - message.libraries[i] = $root.google.cloud.securitycenter.v2.File.fromObject(object.libraries[i]); + message.libraries[i] = $root.google.cloud.securitycenter.v2.File.fromObject(object.libraries[i], long + 1); } } if (object.script != null) { if (typeof object.script !== "object") throw TypeError(".google.cloud.securitycenter.v2.Process.script: object expected"); - message.script = $root.google.cloud.securitycenter.v2.File.fromObject(object.script); + message.script = $root.google.cloud.securitycenter.v2.File.fromObject(object.script, long + 1); } if (object.args) { if (!Array.isArray(object.args)) @@ -111198,7 +115556,7 @@ for (var i = 0; i < object.envVariables.length; ++i) { if (typeof object.envVariables[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Process.envVariables: object expected"); - message.envVariables[i] = $root.google.cloud.securitycenter.v2.EnvironmentVariable.fromObject(object.envVariables[i]); + message.envVariables[i] = $root.google.cloud.securitycenter.v2.EnvironmentVariable.fromObject(object.envVariables[i], long + 1); } } if (object.envVariablesTruncated != null) @@ -111366,7 +115724,7 @@ function EnvironmentVariable(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -111441,9 +115799,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnvironmentVariable.decode = function decode(reader, length, error) { + EnvironmentVariable.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.EnvironmentVariable(); while (reader.pos < end) { var tag = reader.uint32(); @@ -111459,7 +115821,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -111490,9 +115852,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnvironmentVariable.verify = function verify(message) { + EnvironmentVariable.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -111510,9 +115876,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.EnvironmentVariable} EnvironmentVariable */ - EnvironmentVariable.fromObject = function fromObject(object) { + EnvironmentVariable.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.EnvironmentVariable) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.EnvironmentVariable(); if (object.name != null) message.name = String(object.name); @@ -111597,7 +115967,7 @@ this.marks = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -111683,9 +116053,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityMarks.decode = function decode(reader, length, error) { + SecurityMarks.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.SecurityMarks(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -111712,10 +116086,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.marks, key); message.marks[key] = value; break; } @@ -111724,7 +116100,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -111755,9 +116131,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityMarks.verify = function verify(message) { + SecurityMarks.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -111783,9 +116163,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.SecurityMarks} SecurityMarks */ - SecurityMarks.fromObject = function fromObject(object) { + SecurityMarks.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.SecurityMarks) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.SecurityMarks(); if (object.name != null) message.name = String(object.name); @@ -111793,8 +116177,11 @@ if (typeof object.marks !== "object") throw TypeError(".google.cloud.securitycenter.v2.SecurityMarks.marks: object expected"); message.marks = {}; - for (var keys = Object.keys(object.marks), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.marks), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.marks, keys[i]); message.marks[keys[i]] = String(object.marks[keys[i]]); + } } if (object.canonicalName != null) message.canonicalName = String(object.canonicalName); @@ -111825,8 +116212,11 @@ var keys2; if (message.marks && (keys2 = Object.keys(message.marks)).length) { object.marks = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.marks, keys2[j]); object.marks[keys2[j]] = message.marks[keys2[j]]; + } } if (message.canonicalName != null && message.hasOwnProperty("canonicalName")) object.canonicalName = message.canonicalName; @@ -111890,7 +116280,7 @@ this.policyDriftDetails = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -112026,9 +116416,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityPosture.decode = function decode(reader, length, error) { + SecurityPosture.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.SecurityPosture(); while (reader.pos < end) { var tag = reader.uint32(); @@ -112066,11 +116460,11 @@ case 8: { if (!(message.policyDriftDetails && message.policyDriftDetails.length)) message.policyDriftDetails = []; - message.policyDriftDetails.push($root.google.cloud.securitycenter.v2.SecurityPosture.PolicyDriftDetails.decode(reader, reader.uint32())); + message.policyDriftDetails.push($root.google.cloud.securitycenter.v2.SecurityPosture.PolicyDriftDetails.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -112101,9 +116495,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityPosture.verify = function verify(message) { + SecurityPosture.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -112129,7 +116527,7 @@ if (!Array.isArray(message.policyDriftDetails)) return "policyDriftDetails: array expected"; for (var i = 0; i < message.policyDriftDetails.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.SecurityPosture.PolicyDriftDetails.verify(message.policyDriftDetails[i]); + var error = $root.google.cloud.securitycenter.v2.SecurityPosture.PolicyDriftDetails.verify(message.policyDriftDetails[i], long + 1); if (error) return "policyDriftDetails." + error; } @@ -112145,9 +116543,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.SecurityPosture} SecurityPosture */ - SecurityPosture.fromObject = function fromObject(object) { + SecurityPosture.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.SecurityPosture) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.SecurityPosture(); if (object.name != null) message.name = String(object.name); @@ -112170,7 +116572,7 @@ for (var i = 0; i < object.policyDriftDetails.length; ++i) { if (typeof object.policyDriftDetails[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.SecurityPosture.policyDriftDetails: object expected"); - message.policyDriftDetails[i] = $root.google.cloud.securitycenter.v2.SecurityPosture.PolicyDriftDetails.fromObject(object.policyDriftDetails[i]); + message.policyDriftDetails[i] = $root.google.cloud.securitycenter.v2.SecurityPosture.PolicyDriftDetails.fromObject(object.policyDriftDetails[i], long + 1); } } return message; @@ -112270,7 +116672,7 @@ function PolicyDriftDetails(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -112355,9 +116757,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyDriftDetails.decode = function decode(reader, length, error) { + PolicyDriftDetails.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.SecurityPosture.PolicyDriftDetails(); while (reader.pos < end) { var tag = reader.uint32(); @@ -112377,7 +116783,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -112408,9 +116814,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PolicyDriftDetails.verify = function verify(message) { + PolicyDriftDetails.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.field != null && message.hasOwnProperty("field")) if (!$util.isString(message.field)) return "field: string expected"; @@ -112431,9 +116841,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.SecurityPosture.PolicyDriftDetails} PolicyDriftDetails */ - PolicyDriftDetails.fromObject = function fromObject(object) { + PolicyDriftDetails.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.SecurityPosture.PolicyDriftDetails) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.SecurityPosture.PolicyDriftDetails(); if (object.field != null) message.field = String(object.field); @@ -112525,7 +116939,7 @@ this.relatedFindings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -112601,9 +117015,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ToxicCombination.decode = function decode(reader, length, error) { + ToxicCombination.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ToxicCombination(); while (reader.pos < end) { var tag = reader.uint32(); @@ -112621,7 +117039,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -112652,9 +117070,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ToxicCombination.verify = function verify(message) { + ToxicCombination.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.attackExposureScore != null && message.hasOwnProperty("attackExposureScore")) if (typeof message.attackExposureScore !== "number") return "attackExposureScore: number expected"; @@ -112676,9 +117098,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ToxicCombination} ToxicCombination */ - ToxicCombination.fromObject = function fromObject(object) { + ToxicCombination.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ToxicCombination) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ToxicCombination(); if (object.attackExposureScore != null) message.attackExposureScore = Number(object.attackExposureScore); @@ -112771,7 +117197,7 @@ this.pipelines = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -112848,9 +117274,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VertexAi.decode = function decode(reader, length, error) { + VertexAi.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.VertexAi(); while (reader.pos < end) { var tag = reader.uint32(); @@ -112860,17 +117290,17 @@ case 1: { if (!(message.datasets && message.datasets.length)) message.datasets = []; - message.datasets.push($root.google.cloud.securitycenter.v2.VertexAi.Dataset.decode(reader, reader.uint32())); + message.datasets.push($root.google.cloud.securitycenter.v2.VertexAi.Dataset.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.pipelines && message.pipelines.length)) message.pipelines = []; - message.pipelines.push($root.google.cloud.securitycenter.v2.VertexAi.Pipeline.decode(reader, reader.uint32())); + message.pipelines.push($root.google.cloud.securitycenter.v2.VertexAi.Pipeline.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -112901,14 +117331,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - VertexAi.verify = function verify(message) { + VertexAi.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.datasets != null && message.hasOwnProperty("datasets")) { if (!Array.isArray(message.datasets)) return "datasets: array expected"; for (var i = 0; i < message.datasets.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.VertexAi.Dataset.verify(message.datasets[i]); + var error = $root.google.cloud.securitycenter.v2.VertexAi.Dataset.verify(message.datasets[i], long + 1); if (error) return "datasets." + error; } @@ -112917,7 +117351,7 @@ if (!Array.isArray(message.pipelines)) return "pipelines: array expected"; for (var i = 0; i < message.pipelines.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.VertexAi.Pipeline.verify(message.pipelines[i]); + var error = $root.google.cloud.securitycenter.v2.VertexAi.Pipeline.verify(message.pipelines[i], long + 1); if (error) return "pipelines." + error; } @@ -112933,9 +117367,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.VertexAi} VertexAi */ - VertexAi.fromObject = function fromObject(object) { + VertexAi.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.VertexAi) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.VertexAi(); if (object.datasets) { if (!Array.isArray(object.datasets)) @@ -112944,7 +117382,7 @@ for (var i = 0; i < object.datasets.length; ++i) { if (typeof object.datasets[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.VertexAi.datasets: object expected"); - message.datasets[i] = $root.google.cloud.securitycenter.v2.VertexAi.Dataset.fromObject(object.datasets[i]); + message.datasets[i] = $root.google.cloud.securitycenter.v2.VertexAi.Dataset.fromObject(object.datasets[i], long + 1); } } if (object.pipelines) { @@ -112954,7 +117392,7 @@ for (var i = 0; i < object.pipelines.length; ++i) { if (typeof object.pipelines[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.VertexAi.pipelines: object expected"); - message.pipelines[i] = $root.google.cloud.securitycenter.v2.VertexAi.Pipeline.fromObject(object.pipelines[i]); + message.pipelines[i] = $root.google.cloud.securitycenter.v2.VertexAi.Pipeline.fromObject(object.pipelines[i], long + 1); } } return message; @@ -113038,7 +117476,7 @@ function Dataset(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -113123,9 +117561,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Dataset.decode = function decode(reader, length, error) { + Dataset.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.VertexAi.Dataset(); while (reader.pos < end) { var tag = reader.uint32(); @@ -113145,7 +117587,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -113176,9 +117618,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Dataset.verify = function verify(message) { + Dataset.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -113199,9 +117645,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.VertexAi.Dataset} Dataset */ - Dataset.fromObject = function fromObject(object) { + Dataset.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.VertexAi.Dataset) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.VertexAi.Dataset(); if (object.name != null) message.name = String(object.name); @@ -113289,7 +117739,7 @@ function Pipeline(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -113364,9 +117814,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Pipeline.decode = function decode(reader, length, error) { + Pipeline.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.VertexAi.Pipeline(); while (reader.pos < end) { var tag = reader.uint32(); @@ -113382,7 +117836,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -113413,9 +117867,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Pipeline.verify = function verify(message) { + Pipeline.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -113433,9 +117891,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.VertexAi.Pipeline} Pipeline */ - Pipeline.fromObject = function fromObject(object) { + Pipeline.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.VertexAi.Pipeline) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.VertexAi.Pipeline(); if (object.name != null) message.name = String(object.name); @@ -113527,7 +117989,7 @@ this.cwes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -113653,9 +118115,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Vulnerability.decode = function decode(reader, length, error) { + Vulnerability.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Vulnerability(); while (reader.pos < end) { var tag = reader.uint32(); @@ -113663,19 +118129,19 @@ break; switch (tag >>> 3) { case 1: { - message.cve = $root.google.cloud.securitycenter.v2.Cve.decode(reader, reader.uint32()); + message.cve = $root.google.cloud.securitycenter.v2.Cve.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.offendingPackage = $root.google.cloud.securitycenter.v2.Package.decode(reader, reader.uint32()); + message.offendingPackage = $root.google.cloud.securitycenter.v2.Package.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.fixedPackage = $root.google.cloud.securitycenter.v2.Package.decode(reader, reader.uint32()); + message.fixedPackage = $root.google.cloud.securitycenter.v2.Package.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.securityBulletin = $root.google.cloud.securitycenter.v2.SecurityBulletin.decode(reader, reader.uint32()); + message.securityBulletin = $root.google.cloud.securitycenter.v2.SecurityBulletin.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -113689,11 +118155,11 @@ case 7: { if (!(message.cwes && message.cwes.length)) message.cwes = []; - message.cwes.push($root.google.cloud.securitycenter.v2.Cwe.decode(reader, reader.uint32())); + message.cwes.push($root.google.cloud.securitycenter.v2.Cwe.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -113724,26 +118190,30 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Vulnerability.verify = function verify(message) { + Vulnerability.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.cve != null && message.hasOwnProperty("cve")) { - var error = $root.google.cloud.securitycenter.v2.Cve.verify(message.cve); + var error = $root.google.cloud.securitycenter.v2.Cve.verify(message.cve, long + 1); if (error) return "cve." + error; } if (message.offendingPackage != null && message.hasOwnProperty("offendingPackage")) { - var error = $root.google.cloud.securitycenter.v2.Package.verify(message.offendingPackage); + var error = $root.google.cloud.securitycenter.v2.Package.verify(message.offendingPackage, long + 1); if (error) return "offendingPackage." + error; } if (message.fixedPackage != null && message.hasOwnProperty("fixedPackage")) { - var error = $root.google.cloud.securitycenter.v2.Package.verify(message.fixedPackage); + var error = $root.google.cloud.securitycenter.v2.Package.verify(message.fixedPackage, long + 1); if (error) return "fixedPackage." + error; } if (message.securityBulletin != null && message.hasOwnProperty("securityBulletin")) { - var error = $root.google.cloud.securitycenter.v2.SecurityBulletin.verify(message.securityBulletin); + var error = $root.google.cloud.securitycenter.v2.SecurityBulletin.verify(message.securityBulletin, long + 1); if (error) return "securityBulletin." + error; } @@ -113757,7 +118227,7 @@ if (!Array.isArray(message.cwes)) return "cwes: array expected"; for (var i = 0; i < message.cwes.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Cwe.verify(message.cwes[i]); + var error = $root.google.cloud.securitycenter.v2.Cwe.verify(message.cwes[i], long + 1); if (error) return "cwes." + error; } @@ -113773,29 +118243,33 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Vulnerability} Vulnerability */ - Vulnerability.fromObject = function fromObject(object) { + Vulnerability.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Vulnerability) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Vulnerability(); if (object.cve != null) { if (typeof object.cve !== "object") throw TypeError(".google.cloud.securitycenter.v2.Vulnerability.cve: object expected"); - message.cve = $root.google.cloud.securitycenter.v2.Cve.fromObject(object.cve); + message.cve = $root.google.cloud.securitycenter.v2.Cve.fromObject(object.cve, long + 1); } if (object.offendingPackage != null) { if (typeof object.offendingPackage !== "object") throw TypeError(".google.cloud.securitycenter.v2.Vulnerability.offendingPackage: object expected"); - message.offendingPackage = $root.google.cloud.securitycenter.v2.Package.fromObject(object.offendingPackage); + message.offendingPackage = $root.google.cloud.securitycenter.v2.Package.fromObject(object.offendingPackage, long + 1); } if (object.fixedPackage != null) { if (typeof object.fixedPackage !== "object") throw TypeError(".google.cloud.securitycenter.v2.Vulnerability.fixedPackage: object expected"); - message.fixedPackage = $root.google.cloud.securitycenter.v2.Package.fromObject(object.fixedPackage); + message.fixedPackage = $root.google.cloud.securitycenter.v2.Package.fromObject(object.fixedPackage, long + 1); } if (object.securityBulletin != null) { if (typeof object.securityBulletin !== "object") throw TypeError(".google.cloud.securitycenter.v2.Vulnerability.securityBulletin: object expected"); - message.securityBulletin = $root.google.cloud.securitycenter.v2.SecurityBulletin.fromObject(object.securityBulletin); + message.securityBulletin = $root.google.cloud.securitycenter.v2.SecurityBulletin.fromObject(object.securityBulletin, long + 1); } if (object.providerRiskScore != null) if ($util.Long) @@ -113815,7 +118289,7 @@ for (var i = 0; i < object.cwes.length; ++i) { if (typeof object.cwes[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Vulnerability.cwes: object expected"); - message.cwes[i] = $root.google.cloud.securitycenter.v2.Cwe.fromObject(object.cwes[i]); + message.cwes[i] = $root.google.cloud.securitycenter.v2.Cwe.fromObject(object.cwes[i], long + 1); } } return message; @@ -113930,7 +118404,7 @@ this.references = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -114086,9 +118560,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Cve.decode = function decode(reader, length, error) { + Cve.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Cve(); while (reader.pos < end) { var tag = reader.uint32(); @@ -114102,11 +118580,11 @@ case 2: { if (!(message.references && message.references.length)) message.references = []; - message.references.push($root.google.cloud.securitycenter.v2.Reference.decode(reader, reader.uint32())); + message.references.push($root.google.cloud.securitycenter.v2.Reference.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.cvssv3 = $root.google.cloud.securitycenter.v2.Cvssv3.decode(reader, reader.uint32()); + message.cvssv3 = $root.google.cloud.securitycenter.v2.Cvssv3.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -114130,15 +118608,15 @@ break; } case 9: { - message.exploitReleaseDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.exploitReleaseDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { - message.firstExploitationDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.firstExploitationDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -114169,9 +118647,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Cve.verify = function verify(message) { + Cve.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -114179,13 +118661,13 @@ if (!Array.isArray(message.references)) return "references: array expected"; for (var i = 0; i < message.references.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Reference.verify(message.references[i]); + var error = $root.google.cloud.securitycenter.v2.Reference.verify(message.references[i], long + 1); if (error) return "references." + error; } } if (message.cvssv3 != null && message.hasOwnProperty("cvssv3")) { - var error = $root.google.cloud.securitycenter.v2.Cvssv3.verify(message.cvssv3); + var error = $root.google.cloud.securitycenter.v2.Cvssv3.verify(message.cvssv3, long + 1); if (error) return "cvssv3." + error; } @@ -114222,12 +118704,12 @@ if (typeof message.zeroDay !== "boolean") return "zeroDay: boolean expected"; if (message.exploitReleaseDate != null && message.hasOwnProperty("exploitReleaseDate")) { - var error = $root.google.protobuf.Timestamp.verify(message.exploitReleaseDate); + var error = $root.google.protobuf.Timestamp.verify(message.exploitReleaseDate, long + 1); if (error) return "exploitReleaseDate." + error; } if (message.firstExploitationDate != null && message.hasOwnProperty("firstExploitationDate")) { - var error = $root.google.protobuf.Timestamp.verify(message.firstExploitationDate); + var error = $root.google.protobuf.Timestamp.verify(message.firstExploitationDate, long + 1); if (error) return "firstExploitationDate." + error; } @@ -114242,9 +118724,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Cve} Cve */ - Cve.fromObject = function fromObject(object) { + Cve.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Cve) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Cve(); if (object.id != null) message.id = String(object.id); @@ -114255,13 +118741,13 @@ for (var i = 0; i < object.references.length; ++i) { if (typeof object.references[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Cve.references: object expected"); - message.references[i] = $root.google.cloud.securitycenter.v2.Reference.fromObject(object.references[i]); + message.references[i] = $root.google.cloud.securitycenter.v2.Reference.fromObject(object.references[i], long + 1); } } if (object.cvssv3 != null) { if (typeof object.cvssv3 !== "object") throw TypeError(".google.cloud.securitycenter.v2.Cve.cvssv3: object expected"); - message.cvssv3 = $root.google.cloud.securitycenter.v2.Cvssv3.fromObject(object.cvssv3); + message.cvssv3 = $root.google.cloud.securitycenter.v2.Cvssv3.fromObject(object.cvssv3, long + 1); } if (object.upstreamFixAvailable != null) message.upstreamFixAvailable = Boolean(object.upstreamFixAvailable); @@ -114332,12 +118818,12 @@ if (object.exploitReleaseDate != null) { if (typeof object.exploitReleaseDate !== "object") throw TypeError(".google.cloud.securitycenter.v2.Cve.exploitReleaseDate: object expected"); - message.exploitReleaseDate = $root.google.protobuf.Timestamp.fromObject(object.exploitReleaseDate); + message.exploitReleaseDate = $root.google.protobuf.Timestamp.fromObject(object.exploitReleaseDate, long + 1); } if (object.firstExploitationDate != null) { if (typeof object.firstExploitationDate !== "object") throw TypeError(".google.cloud.securitycenter.v2.Cve.firstExploitationDate: object expected"); - message.firstExploitationDate = $root.google.protobuf.Timestamp.fromObject(object.firstExploitationDate); + message.firstExploitationDate = $root.google.protobuf.Timestamp.fromObject(object.firstExploitationDate, long + 1); } return message; }; @@ -114486,7 +118972,7 @@ function Reference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -114561,9 +119047,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Reference.decode = function decode(reader, length, error) { + Reference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Reference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -114579,7 +119069,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -114610,9 +119100,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Reference.verify = function verify(message) { + Reference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.source != null && message.hasOwnProperty("source")) if (!$util.isString(message.source)) return "source: string expected"; @@ -114630,9 +119124,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Reference} Reference */ - Reference.fromObject = function fromObject(object) { + Reference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Reference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Reference(); if (object.source != null) message.source = String(object.source); @@ -114722,7 +119220,7 @@ function Cvssv3(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -114867,9 +119365,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Cvssv3.decode = function decode(reader, length, error) { + Cvssv3.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Cvssv3(); while (reader.pos < end) { var tag = reader.uint32(); @@ -114913,7 +119415,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -114944,9 +119446,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Cvssv3.verify = function verify(message) { + Cvssv3.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.baseScore != null && message.hasOwnProperty("baseScore")) if (typeof message.baseScore !== "number") return "baseScore: number expected"; @@ -115039,9 +119545,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Cvssv3} Cvssv3 */ - Cvssv3.fromObject = function fromObject(object) { + Cvssv3.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Cvssv3) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Cvssv3(); if (object.baseScore != null) message.baseScore = Number(object.baseScore); @@ -115433,7 +119943,7 @@ function Package(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -115528,9 +120038,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Package.decode = function decode(reader, length, error) { + Package.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Package(); while (reader.pos < end) { var tag = reader.uint32(); @@ -115554,7 +120068,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -115585,9 +120099,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Package.verify = function verify(message) { + Package.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.packageName != null && message.hasOwnProperty("packageName")) if (!$util.isString(message.packageName)) return "packageName: string expected"; @@ -115611,9 +120129,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Package} Package */ - Package.fromObject = function fromObject(object) { + Package.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Package) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Package(); if (object.packageName != null) message.packageName = String(object.packageName); @@ -115707,7 +120229,7 @@ function SecurityBulletin(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -115792,9 +120314,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityBulletin.decode = function decode(reader, length, error) { + SecurityBulletin.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.SecurityBulletin(); while (reader.pos < end) { var tag = reader.uint32(); @@ -115806,7 +120332,7 @@ break; } case 2: { - message.submissionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.submissionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -115814,7 +120340,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -115845,14 +120371,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityBulletin.verify = function verify(message) { + SecurityBulletin.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bulletinId != null && message.hasOwnProperty("bulletinId")) if (!$util.isString(message.bulletinId)) return "bulletinId: string expected"; if (message.submissionTime != null && message.hasOwnProperty("submissionTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.submissionTime); + var error = $root.google.protobuf.Timestamp.verify(message.submissionTime, long + 1); if (error) return "submissionTime." + error; } @@ -115870,16 +120400,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.SecurityBulletin} SecurityBulletin */ - SecurityBulletin.fromObject = function fromObject(object) { + SecurityBulletin.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.SecurityBulletin) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.SecurityBulletin(); if (object.bulletinId != null) message.bulletinId = String(object.bulletinId); if (object.submissionTime != null) { if (typeof object.submissionTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.SecurityBulletin.submissionTime: object expected"); - message.submissionTime = $root.google.protobuf.Timestamp.fromObject(object.submissionTime); + message.submissionTime = $root.google.protobuf.Timestamp.fromObject(object.submissionTime, long + 1); } if (object.suggestedUpgradeVersion != null) message.suggestedUpgradeVersion = String(object.suggestedUpgradeVersion); @@ -115964,7 +120498,7 @@ this.references = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -116040,9 +120574,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Cwe.decode = function decode(reader, length, error) { + Cwe.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Cwe(); while (reader.pos < end) { var tag = reader.uint32(); @@ -116056,11 +120594,11 @@ case 2: { if (!(message.references && message.references.length)) message.references = []; - message.references.push($root.google.cloud.securitycenter.v2.Reference.decode(reader, reader.uint32())); + message.references.push($root.google.cloud.securitycenter.v2.Reference.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -116091,9 +120629,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Cwe.verify = function verify(message) { + Cwe.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -116101,7 +120643,7 @@ if (!Array.isArray(message.references)) return "references: array expected"; for (var i = 0; i < message.references.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Reference.verify(message.references[i]); + var error = $root.google.cloud.securitycenter.v2.Reference.verify(message.references[i], long + 1); if (error) return "references." + error; } @@ -116117,9 +120659,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Cwe} Cwe */ - Cwe.fromObject = function fromObject(object) { + Cwe.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Cwe) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Cwe(); if (object.id != null) message.id = String(object.id); @@ -116130,7 +120676,7 @@ for (var i = 0; i < object.references.length; ++i) { if (typeof object.references[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Cwe.references: object expected"); - message.references[i] = $root.google.cloud.securitycenter.v2.Reference.fromObject(object.references[i]); + message.references[i] = $root.google.cloud.securitycenter.v2.Reference.fromObject(object.references[i], long + 1); } } return message; @@ -116213,7 +120759,7 @@ function Folder(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -116288,9 +120834,13 @@ * @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, error) { + Folder.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Folder(); while (reader.pos < end) { var tag = reader.uint32(); @@ -116306,7 +120856,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -116337,9 +120887,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Folder.verify = function verify(message) { + Folder.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceFolder != null && message.hasOwnProperty("resourceFolder")) if (!$util.isString(message.resourceFolder)) return "resourceFolder: string expected"; @@ -116357,9 +120911,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Folder} Folder */ - Folder.fromObject = function fromObject(object) { + Folder.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Folder) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Folder(); if (object.resourceFolder != null) message.resourceFolder = String(object.resourceFolder); @@ -116448,7 +121006,7 @@ function MuteConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -116583,9 +121141,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MuteConfig.decode = function decode(reader, length, error) { + MuteConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.MuteConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -116605,11 +121167,11 @@ break; } case 4: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { @@ -116621,11 +121183,11 @@ break; } case 9: { - message.expiryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.expiryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -116656,9 +121218,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MuteConfig.verify = function verify(message) { + MuteConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -116669,12 +121235,12 @@ if (!$util.isString(message.filter)) return "filter: string expected"; if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -116691,7 +121257,7 @@ break; } if (message.expiryTime != null && message.hasOwnProperty("expiryTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.expiryTime); + var error = $root.google.protobuf.Timestamp.verify(message.expiryTime, long + 1); if (error) return "expiryTime." + error; } @@ -116706,9 +121272,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.MuteConfig} MuteConfig */ - MuteConfig.fromObject = function fromObject(object) { + MuteConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.MuteConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.MuteConfig(); if (object.name != null) message.name = String(object.name); @@ -116719,12 +121289,12 @@ if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.MuteConfig.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.MuteConfig.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.mostRecentEditor != null) message.mostRecentEditor = String(object.mostRecentEditor); @@ -116751,7 +121321,7 @@ if (object.expiryTime != null) { if (typeof object.expiryTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.MuteConfig.expiryTime: object expected"); - message.expiryTime = $root.google.protobuf.Timestamp.fromObject(object.expiryTime); + message.expiryTime = $root.google.protobuf.Timestamp.fromObject(object.expiryTime, long + 1); } return message; }; @@ -116868,7 +121438,7 @@ function NotificationConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -116997,9 +121567,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NotificationConfig.decode = function decode(reader, length, error) { + NotificationConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.NotificationConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -117023,15 +121597,15 @@ break; } case 5: { - message.streamingConfig = $root.google.cloud.securitycenter.v2.NotificationConfig.StreamingConfig.decode(reader, reader.uint32()); + message.streamingConfig = $root.google.cloud.securitycenter.v2.NotificationConfig.StreamingConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -117062,9 +121636,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NotificationConfig.verify = function verify(message) { + NotificationConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) @@ -117081,13 +121659,13 @@ if (message.streamingConfig != null && message.hasOwnProperty("streamingConfig")) { properties.notifyConfig = 1; { - var error = $root.google.cloud.securitycenter.v2.NotificationConfig.StreamingConfig.verify(message.streamingConfig); + var error = $root.google.cloud.securitycenter.v2.NotificationConfig.StreamingConfig.verify(message.streamingConfig, long + 1); if (error) return "streamingConfig." + error; } } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -117102,9 +121680,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.NotificationConfig} NotificationConfig */ - NotificationConfig.fromObject = function fromObject(object) { + NotificationConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.NotificationConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.NotificationConfig(); if (object.name != null) message.name = String(object.name); @@ -117117,12 +121699,12 @@ if (object.streamingConfig != null) { if (typeof object.streamingConfig !== "object") throw TypeError(".google.cloud.securitycenter.v2.NotificationConfig.streamingConfig: object expected"); - message.streamingConfig = $root.google.cloud.securitycenter.v2.NotificationConfig.StreamingConfig.fromObject(object.streamingConfig); + message.streamingConfig = $root.google.cloud.securitycenter.v2.NotificationConfig.StreamingConfig.fromObject(object.streamingConfig, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.NotificationConfig.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } return message; }; @@ -117211,7 +121793,7 @@ function StreamingConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -117276,9 +121858,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingConfig.decode = function decode(reader, length, error) { + StreamingConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.NotificationConfig.StreamingConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -117290,7 +121876,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -117321,9 +121907,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StreamingConfig.verify = function verify(message) { + StreamingConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.filter != null && message.hasOwnProperty("filter")) if (!$util.isString(message.filter)) return "filter: string expected"; @@ -117338,9 +121928,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.NotificationConfig.StreamingConfig} StreamingConfig */ - StreamingConfig.fromObject = function fromObject(object) { + StreamingConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.NotificationConfig.StreamingConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.NotificationConfig.StreamingConfig(); if (object.filter != null) message.filter = String(object.filter); @@ -117421,7 +122015,7 @@ function NotificationMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -117520,9 +122114,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NotificationMessage.decode = function decode(reader, length, error) { + NotificationMessage.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.NotificationMessage(); while (reader.pos < end) { var tag = reader.uint32(); @@ -117534,15 +122132,15 @@ break; } case 2: { - message.finding = $root.google.cloud.securitycenter.v2.Finding.decode(reader, reader.uint32()); + message.finding = $root.google.cloud.securitycenter.v2.Finding.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.resource = $root.google.cloud.securitycenter.v2.Resource.decode(reader, reader.uint32()); + message.resource = $root.google.cloud.securitycenter.v2.Resource.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -117573,9 +122171,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NotificationMessage.verify = function verify(message) { + NotificationMessage.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.notificationConfigName != null && message.hasOwnProperty("notificationConfigName")) if (!$util.isString(message.notificationConfigName)) @@ -117583,13 +122185,13 @@ if (message.finding != null && message.hasOwnProperty("finding")) { properties.event = 1; { - var error = $root.google.cloud.securitycenter.v2.Finding.verify(message.finding); + var error = $root.google.cloud.securitycenter.v2.Finding.verify(message.finding, long + 1); if (error) return "finding." + error; } } if (message.resource != null && message.hasOwnProperty("resource")) { - var error = $root.google.cloud.securitycenter.v2.Resource.verify(message.resource); + var error = $root.google.cloud.securitycenter.v2.Resource.verify(message.resource, long + 1); if (error) return "resource." + error; } @@ -117604,21 +122206,25 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.NotificationMessage} NotificationMessage */ - NotificationMessage.fromObject = function fromObject(object) { + NotificationMessage.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.NotificationMessage) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.NotificationMessage(); if (object.notificationConfigName != null) message.notificationConfigName = String(object.notificationConfigName); if (object.finding != null) { if (typeof object.finding !== "object") throw TypeError(".google.cloud.securitycenter.v2.NotificationMessage.finding: object expected"); - message.finding = $root.google.cloud.securitycenter.v2.Finding.fromObject(object.finding); + message.finding = $root.google.cloud.securitycenter.v2.Finding.fromObject(object.finding, long + 1); } if (object.resource != null) { if (typeof object.resource !== "object") throw TypeError(".google.cloud.securitycenter.v2.NotificationMessage.resource: object expected"); - message.resource = $root.google.cloud.securitycenter.v2.Resource.fromObject(object.resource); + message.resource = $root.google.cloud.securitycenter.v2.Resource.fromObject(object.resource, long + 1); } return message; }; @@ -117711,7 +122317,7 @@ function Resource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -117890,9 +122496,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Resource.decode = function decode(reader, length, error) { + Resource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Resource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -117924,19 +122534,19 @@ break; } case 7: { - message.gcpMetadata = $root.google.cloud.securitycenter.v2.GcpMetadata.decode(reader, reader.uint32()); + message.gcpMetadata = $root.google.cloud.securitycenter.v2.GcpMetadata.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { - message.awsMetadata = $root.google.cloud.securitycenter.v2.AwsMetadata.decode(reader, reader.uint32()); + message.awsMetadata = $root.google.cloud.securitycenter.v2.AwsMetadata.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.azureMetadata = $root.google.cloud.securitycenter.v2.AzureMetadata.decode(reader, reader.uint32()); + message.azureMetadata = $root.google.cloud.securitycenter.v2.AzureMetadata.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { - message.resourcePath = $root.google.cloud.securitycenter.v2.ResourcePath.decode(reader, reader.uint32()); + message.resourcePath = $root.google.cloud.securitycenter.v2.ResourcePath.decode(reader, reader.uint32(), undefined, long + 1); break; } case 11: { @@ -117944,7 +122554,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -117975,9 +122585,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Resource.verify = function verify(message) { + Resource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) @@ -118007,7 +122621,7 @@ if (message.gcpMetadata != null && message.hasOwnProperty("gcpMetadata")) { properties.cloudProviderMetadata = 1; { - var error = $root.google.cloud.securitycenter.v2.GcpMetadata.verify(message.gcpMetadata); + var error = $root.google.cloud.securitycenter.v2.GcpMetadata.verify(message.gcpMetadata, long + 1); if (error) return "gcpMetadata." + error; } @@ -118017,7 +122631,7 @@ return "cloudProviderMetadata: multiple values"; properties.cloudProviderMetadata = 1; { - var error = $root.google.cloud.securitycenter.v2.AwsMetadata.verify(message.awsMetadata); + var error = $root.google.cloud.securitycenter.v2.AwsMetadata.verify(message.awsMetadata, long + 1); if (error) return "awsMetadata." + error; } @@ -118027,13 +122641,13 @@ return "cloudProviderMetadata: multiple values"; properties.cloudProviderMetadata = 1; { - var error = $root.google.cloud.securitycenter.v2.AzureMetadata.verify(message.azureMetadata); + var error = $root.google.cloud.securitycenter.v2.AzureMetadata.verify(message.azureMetadata, long + 1); if (error) return "azureMetadata." + error; } } if (message.resourcePath != null && message.hasOwnProperty("resourcePath")) { - var error = $root.google.cloud.securitycenter.v2.ResourcePath.verify(message.resourcePath); + var error = $root.google.cloud.securitycenter.v2.ResourcePath.verify(message.resourcePath, long + 1); if (error) return "resourcePath." + error; } @@ -118051,9 +122665,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Resource} Resource */ - Resource.fromObject = function fromObject(object) { + Resource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Resource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Resource(); if (object.name != null) message.name = String(object.name); @@ -118092,22 +122710,22 @@ if (object.gcpMetadata != null) { if (typeof object.gcpMetadata !== "object") throw TypeError(".google.cloud.securitycenter.v2.Resource.gcpMetadata: object expected"); - message.gcpMetadata = $root.google.cloud.securitycenter.v2.GcpMetadata.fromObject(object.gcpMetadata); + message.gcpMetadata = $root.google.cloud.securitycenter.v2.GcpMetadata.fromObject(object.gcpMetadata, long + 1); } if (object.awsMetadata != null) { if (typeof object.awsMetadata !== "object") throw TypeError(".google.cloud.securitycenter.v2.Resource.awsMetadata: object expected"); - message.awsMetadata = $root.google.cloud.securitycenter.v2.AwsMetadata.fromObject(object.awsMetadata); + message.awsMetadata = $root.google.cloud.securitycenter.v2.AwsMetadata.fromObject(object.awsMetadata, long + 1); } if (object.azureMetadata != null) { if (typeof object.azureMetadata !== "object") throw TypeError(".google.cloud.securitycenter.v2.Resource.azureMetadata: object expected"); - message.azureMetadata = $root.google.cloud.securitycenter.v2.AzureMetadata.fromObject(object.azureMetadata); + message.azureMetadata = $root.google.cloud.securitycenter.v2.AzureMetadata.fromObject(object.azureMetadata, long + 1); } if (object.resourcePath != null) { if (typeof object.resourcePath !== "object") throw TypeError(".google.cloud.securitycenter.v2.Resource.resourcePath: object expected"); - message.resourcePath = $root.google.cloud.securitycenter.v2.ResourcePath.fromObject(object.resourcePath); + message.resourcePath = $root.google.cloud.securitycenter.v2.ResourcePath.fromObject(object.resourcePath, long + 1); } if (object.resourcePathString != null) message.resourcePathString = String(object.resourcePathString); @@ -118244,7 +122862,7 @@ this.folders = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -118360,9 +122978,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcpMetadata.decode = function decode(reader, length, error) { + GcpMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.GcpMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -118388,7 +123010,7 @@ case 5: { if (!(message.folders && message.folders.length)) message.folders = []; - message.folders.push($root.google.cloud.securitycenter.v2.Folder.decode(reader, reader.uint32())); + message.folders.push($root.google.cloud.securitycenter.v2.Folder.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { @@ -118396,7 +123018,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -118427,9 +123049,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GcpMetadata.verify = function verify(message) { + GcpMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.project != null && message.hasOwnProperty("project")) if (!$util.isString(message.project)) return "project: string expected"; @@ -118446,7 +123072,7 @@ if (!Array.isArray(message.folders)) return "folders: array expected"; for (var i = 0; i < message.folders.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Folder.verify(message.folders[i]); + var error = $root.google.cloud.securitycenter.v2.Folder.verify(message.folders[i], long + 1); if (error) return "folders." + error; } @@ -118465,9 +123091,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.GcpMetadata} GcpMetadata */ - GcpMetadata.fromObject = function fromObject(object) { + GcpMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.GcpMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.GcpMetadata(); if (object.project != null) message.project = String(object.project); @@ -118484,7 +123114,7 @@ for (var i = 0; i < object.folders.length; ++i) { if (typeof object.folders[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.GcpMetadata.folders: object expected"); - message.folders[i] = $root.google.cloud.securitycenter.v2.Folder.fromObject(object.folders[i]); + message.folders[i] = $root.google.cloud.securitycenter.v2.Folder.fromObject(object.folders[i], long + 1); } } if (object.organization != null) @@ -118584,7 +123214,7 @@ this.organizationalUnits = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -118670,9 +123300,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AwsMetadata.decode = function decode(reader, length, error) { + AwsMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AwsMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -118680,21 +123314,21 @@ break; switch (tag >>> 3) { case 1: { - message.organization = $root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganization.decode(reader, reader.uint32()); + message.organization = $root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganization.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { if (!(message.organizationalUnits && message.organizationalUnits.length)) message.organizationalUnits = []; - message.organizationalUnits.push($root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganizationalUnit.decode(reader, reader.uint32())); + message.organizationalUnits.push($root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganizationalUnit.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.account = $root.google.cloud.securitycenter.v2.AwsMetadata.AwsAccount.decode(reader, reader.uint32()); + message.account = $root.google.cloud.securitycenter.v2.AwsMetadata.AwsAccount.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -118725,11 +123359,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AwsMetadata.verify = function verify(message) { + AwsMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.organization != null && message.hasOwnProperty("organization")) { - var error = $root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganization.verify(message.organization); + var error = $root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganization.verify(message.organization, long + 1); if (error) return "organization." + error; } @@ -118737,13 +123375,13 @@ if (!Array.isArray(message.organizationalUnits)) return "organizationalUnits: array expected"; for (var i = 0; i < message.organizationalUnits.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganizationalUnit.verify(message.organizationalUnits[i]); + var error = $root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganizationalUnit.verify(message.organizationalUnits[i], long + 1); if (error) return "organizationalUnits." + error; } } if (message.account != null && message.hasOwnProperty("account")) { - var error = $root.google.cloud.securitycenter.v2.AwsMetadata.AwsAccount.verify(message.account); + var error = $root.google.cloud.securitycenter.v2.AwsMetadata.AwsAccount.verify(message.account, long + 1); if (error) return "account." + error; } @@ -118758,14 +123396,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AwsMetadata} AwsMetadata */ - AwsMetadata.fromObject = function fromObject(object) { + AwsMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AwsMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AwsMetadata(); if (object.organization != null) { if (typeof object.organization !== "object") throw TypeError(".google.cloud.securitycenter.v2.AwsMetadata.organization: object expected"); - message.organization = $root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganization.fromObject(object.organization); + message.organization = $root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganization.fromObject(object.organization, long + 1); } if (object.organizationalUnits) { if (!Array.isArray(object.organizationalUnits)) @@ -118774,13 +123416,13 @@ for (var i = 0; i < object.organizationalUnits.length; ++i) { if (typeof object.organizationalUnits[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.AwsMetadata.organizationalUnits: object expected"); - message.organizationalUnits[i] = $root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganizationalUnit.fromObject(object.organizationalUnits[i]); + message.organizationalUnits[i] = $root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganizationalUnit.fromObject(object.organizationalUnits[i], long + 1); } } if (object.account != null) { if (typeof object.account !== "object") throw TypeError(".google.cloud.securitycenter.v2.AwsMetadata.account: object expected"); - message.account = $root.google.cloud.securitycenter.v2.AwsMetadata.AwsAccount.fromObject(object.account); + message.account = $root.google.cloud.securitycenter.v2.AwsMetadata.AwsAccount.fromObject(object.account, long + 1); } return message; }; @@ -118862,7 +123504,7 @@ function AwsOrganization(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -118927,9 +123569,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AwsOrganization.decode = function decode(reader, length, error) { + AwsOrganization.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganization(); while (reader.pos < end) { var tag = reader.uint32(); @@ -118941,7 +123587,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -118972,9 +123618,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AwsOrganization.verify = function verify(message) { + AwsOrganization.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -118989,9 +123639,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AwsMetadata.AwsOrganization} AwsOrganization */ - AwsOrganization.fromObject = function fromObject(object) { + AwsOrganization.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganization) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganization(); if (object.id != null) message.id = String(object.id); @@ -119068,7 +123722,7 @@ function AwsOrganizationalUnit(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -119143,9 +123797,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AwsOrganizationalUnit.decode = function decode(reader, length, error) { + AwsOrganizationalUnit.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganizationalUnit(); while (reader.pos < end) { var tag = reader.uint32(); @@ -119161,7 +123819,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -119192,9 +123850,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AwsOrganizationalUnit.verify = function verify(message) { + AwsOrganizationalUnit.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -119212,9 +123874,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AwsMetadata.AwsOrganizationalUnit} AwsOrganizationalUnit */ - AwsOrganizationalUnit.fromObject = function fromObject(object) { + AwsOrganizationalUnit.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganizationalUnit) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganizationalUnit(); if (object.id != null) message.id = String(object.id); @@ -119297,7 +123963,7 @@ function AwsAccount(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -119372,9 +124038,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AwsAccount.decode = function decode(reader, length, error) { + AwsAccount.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AwsMetadata.AwsAccount(); while (reader.pos < end) { var tag = reader.uint32(); @@ -119390,7 +124060,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -119421,9 +124091,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AwsAccount.verify = function verify(message) { + AwsAccount.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -119441,9 +124115,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AwsMetadata.AwsAccount} AwsAccount */ - AwsAccount.fromObject = function fromObject(object) { + AwsAccount.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AwsMetadata.AwsAccount) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AwsMetadata.AwsAccount(); if (object.id != null) message.id = String(object.id); @@ -119532,7 +124210,7 @@ this.managementGroups = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -119628,9 +124306,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AzureMetadata.decode = function decode(reader, length, error) { + AzureMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AzureMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -119640,23 +124322,23 @@ case 1: { if (!(message.managementGroups && message.managementGroups.length)) message.managementGroups = []; - message.managementGroups.push($root.google.cloud.securitycenter.v2.AzureMetadata.AzureManagementGroup.decode(reader, reader.uint32())); + message.managementGroups.push($root.google.cloud.securitycenter.v2.AzureMetadata.AzureManagementGroup.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.subscription = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureSubscription.decode(reader, reader.uint32()); + message.subscription = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureSubscription.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.resourceGroup = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureResourceGroup.decode(reader, reader.uint32()); + message.resourceGroup = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureResourceGroup.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.tenant = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureTenant.decode(reader, reader.uint32()); + message.tenant = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureTenant.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -119687,30 +124369,34 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AzureMetadata.verify = function verify(message) { + AzureMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.managementGroups != null && message.hasOwnProperty("managementGroups")) { if (!Array.isArray(message.managementGroups)) return "managementGroups: array expected"; for (var i = 0; i < message.managementGroups.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureManagementGroup.verify(message.managementGroups[i]); + var error = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureManagementGroup.verify(message.managementGroups[i], long + 1); if (error) return "managementGroups." + error; } } if (message.subscription != null && message.hasOwnProperty("subscription")) { - var error = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureSubscription.verify(message.subscription); + var error = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureSubscription.verify(message.subscription, long + 1); if (error) return "subscription." + error; } if (message.resourceGroup != null && message.hasOwnProperty("resourceGroup")) { - var error = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureResourceGroup.verify(message.resourceGroup); + var error = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureResourceGroup.verify(message.resourceGroup, long + 1); if (error) return "resourceGroup." + error; } if (message.tenant != null && message.hasOwnProperty("tenant")) { - var error = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureTenant.verify(message.tenant); + var error = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureTenant.verify(message.tenant, long + 1); if (error) return "tenant." + error; } @@ -119725,9 +124411,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AzureMetadata} AzureMetadata */ - AzureMetadata.fromObject = function fromObject(object) { + AzureMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AzureMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AzureMetadata(); if (object.managementGroups) { if (!Array.isArray(object.managementGroups)) @@ -119736,23 +124426,23 @@ for (var i = 0; i < object.managementGroups.length; ++i) { if (typeof object.managementGroups[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.AzureMetadata.managementGroups: object expected"); - message.managementGroups[i] = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureManagementGroup.fromObject(object.managementGroups[i]); + message.managementGroups[i] = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureManagementGroup.fromObject(object.managementGroups[i], long + 1); } } if (object.subscription != null) { if (typeof object.subscription !== "object") throw TypeError(".google.cloud.securitycenter.v2.AzureMetadata.subscription: object expected"); - message.subscription = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureSubscription.fromObject(object.subscription); + message.subscription = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureSubscription.fromObject(object.subscription, long + 1); } if (object.resourceGroup != null) { if (typeof object.resourceGroup !== "object") throw TypeError(".google.cloud.securitycenter.v2.AzureMetadata.resourceGroup: object expected"); - message.resourceGroup = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureResourceGroup.fromObject(object.resourceGroup); + message.resourceGroup = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureResourceGroup.fromObject(object.resourceGroup, long + 1); } if (object.tenant != null) { if (typeof object.tenant !== "object") throw TypeError(".google.cloud.securitycenter.v2.AzureMetadata.tenant: object expected"); - message.tenant = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureTenant.fromObject(object.tenant); + message.tenant = $root.google.cloud.securitycenter.v2.AzureMetadata.AzureTenant.fromObject(object.tenant, long + 1); } return message; }; @@ -119838,7 +124528,7 @@ function AzureManagementGroup(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -119913,9 +124603,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AzureManagementGroup.decode = function decode(reader, length, error) { + AzureManagementGroup.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AzureMetadata.AzureManagementGroup(); while (reader.pos < end) { var tag = reader.uint32(); @@ -119931,7 +124625,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -119962,9 +124656,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AzureManagementGroup.verify = function verify(message) { + AzureManagementGroup.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -119982,9 +124680,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AzureMetadata.AzureManagementGroup} AzureManagementGroup */ - AzureManagementGroup.fromObject = function fromObject(object) { + AzureManagementGroup.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AzureMetadata.AzureManagementGroup) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AzureMetadata.AzureManagementGroup(); if (object.id != null) message.id = String(object.id); @@ -120067,7 +124769,7 @@ function AzureSubscription(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -120142,9 +124844,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AzureSubscription.decode = function decode(reader, length, error) { + AzureSubscription.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AzureMetadata.AzureSubscription(); while (reader.pos < end) { var tag = reader.uint32(); @@ -120160,7 +124866,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -120191,9 +124897,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AzureSubscription.verify = function verify(message) { + AzureSubscription.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -120211,9 +124921,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AzureMetadata.AzureSubscription} AzureSubscription */ - AzureSubscription.fromObject = function fromObject(object) { + AzureSubscription.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AzureMetadata.AzureSubscription) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AzureMetadata.AzureSubscription(); if (object.id != null) message.id = String(object.id); @@ -120296,7 +125010,7 @@ function AzureResourceGroup(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -120371,9 +125085,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AzureResourceGroup.decode = function decode(reader, length, error) { + AzureResourceGroup.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AzureMetadata.AzureResourceGroup(); while (reader.pos < end) { var tag = reader.uint32(); @@ -120389,7 +125107,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -120420,9 +125138,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AzureResourceGroup.verify = function verify(message) { + AzureResourceGroup.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -120440,9 +125162,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AzureMetadata.AzureResourceGroup} AzureResourceGroup */ - AzureResourceGroup.fromObject = function fromObject(object) { + AzureResourceGroup.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AzureMetadata.AzureResourceGroup) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AzureMetadata.AzureResourceGroup(); if (object.id != null) message.id = String(object.id); @@ -120525,7 +125251,7 @@ function AzureTenant(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -120600,9 +125326,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AzureTenant.decode = function decode(reader, length, error) { + AzureTenant.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.AzureMetadata.AzureTenant(); while (reader.pos < end) { var tag = reader.uint32(); @@ -120618,7 +125348,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -120649,9 +125379,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AzureTenant.verify = function verify(message) { + AzureTenant.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -120669,9 +125403,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.AzureMetadata.AzureTenant} AzureTenant */ - AzureTenant.fromObject = function fromObject(object) { + AzureTenant.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.AzureMetadata.AzureTenant) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.AzureMetadata.AzureTenant(); if (object.id != null) message.id = String(object.id); @@ -120757,7 +125495,7 @@ this.nodes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -120823,9 +125561,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourcePath.decode = function decode(reader, length, error) { + ResourcePath.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ResourcePath(); while (reader.pos < end) { var tag = reader.uint32(); @@ -120835,11 +125577,11 @@ case 1: { if (!(message.nodes && message.nodes.length)) message.nodes = []; - message.nodes.push($root.google.cloud.securitycenter.v2.ResourcePath.ResourcePathNode.decode(reader, reader.uint32())); + message.nodes.push($root.google.cloud.securitycenter.v2.ResourcePath.ResourcePathNode.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -120870,14 +125612,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourcePath.verify = function verify(message) { + ResourcePath.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.nodes != null && message.hasOwnProperty("nodes")) { if (!Array.isArray(message.nodes)) return "nodes: array expected"; for (var i = 0; i < message.nodes.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.ResourcePath.ResourcePathNode.verify(message.nodes[i]); + var error = $root.google.cloud.securitycenter.v2.ResourcePath.ResourcePathNode.verify(message.nodes[i], long + 1); if (error) return "nodes." + error; } @@ -120893,9 +125639,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ResourcePath} ResourcePath */ - ResourcePath.fromObject = function fromObject(object) { + ResourcePath.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ResourcePath) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ResourcePath(); if (object.nodes) { if (!Array.isArray(object.nodes)) @@ -120904,7 +125654,7 @@ for (var i = 0; i < object.nodes.length; ++i) { if (typeof object.nodes[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.ResourcePath.nodes: object expected"); - message.nodes[i] = $root.google.cloud.securitycenter.v2.ResourcePath.ResourcePathNode.fromObject(object.nodes[i]); + message.nodes[i] = $root.google.cloud.securitycenter.v2.ResourcePath.ResourcePathNode.fromObject(object.nodes[i], long + 1); } } return message; @@ -121011,7 +125761,7 @@ function ResourcePathNode(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -121096,9 +125846,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourcePathNode.decode = function decode(reader, length, error) { + ResourcePathNode.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ResourcePath.ResourcePathNode(); while (reader.pos < end) { var tag = reader.uint32(); @@ -121118,7 +125872,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -121149,9 +125903,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourcePathNode.verify = function verify(message) { + ResourcePathNode.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.nodeType != null && message.hasOwnProperty("nodeType")) switch (message.nodeType) { default: @@ -121185,9 +125943,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ResourcePath.ResourcePathNode} ResourcePathNode */ - ResourcePathNode.fromObject = function fromObject(object) { + ResourcePathNode.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ResourcePath.ResourcePathNode) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ResourcePath.ResourcePathNode(); switch (object.nodeType) { default: @@ -121335,7 +126097,7 @@ this.resourceLabelsSelector = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -121502,9 +126264,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceValueConfig.decode = function decode(reader, length, error) { + ResourceValueConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ResourceValueConfig(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -121549,10 +126315,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.resourceLabelsSelector, key); message.resourceLabelsSelector[key] = value; break; } @@ -121561,11 +126329,11 @@ break; } case 8: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { @@ -121573,11 +126341,11 @@ break; } case 11: { - message.sensitiveDataProtectionMapping = $root.google.cloud.securitycenter.v2.ResourceValueConfig.SensitiveDataProtectionMapping.decode(reader, reader.uint32()); + message.sensitiveDataProtectionMapping = $root.google.cloud.securitycenter.v2.ResourceValueConfig.SensitiveDataProtectionMapping.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -121608,9 +126376,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceValueConfig.verify = function verify(message) { + ResourceValueConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -121650,12 +126422,12 @@ if (!$util.isString(message.description)) return "description: string expected"; if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -121670,7 +126442,7 @@ break; } if (message.sensitiveDataProtectionMapping != null && message.hasOwnProperty("sensitiveDataProtectionMapping")) { - var error = $root.google.cloud.securitycenter.v2.ResourceValueConfig.SensitiveDataProtectionMapping.verify(message.sensitiveDataProtectionMapping); + var error = $root.google.cloud.securitycenter.v2.ResourceValueConfig.SensitiveDataProtectionMapping.verify(message.sensitiveDataProtectionMapping, long + 1); if (error) return "sensitiveDataProtectionMapping." + error; } @@ -121685,9 +126457,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ResourceValueConfig} ResourceValueConfig */ - ResourceValueConfig.fromObject = function fromObject(object) { + ResourceValueConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ResourceValueConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ResourceValueConfig(); if (object.name != null) message.name = String(object.name); @@ -121734,20 +126510,23 @@ if (typeof object.resourceLabelsSelector !== "object") throw TypeError(".google.cloud.securitycenter.v2.ResourceValueConfig.resourceLabelsSelector: object expected"); message.resourceLabelsSelector = {}; - for (var keys = Object.keys(object.resourceLabelsSelector), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.resourceLabelsSelector), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.resourceLabelsSelector, keys[i]); message.resourceLabelsSelector[keys[i]] = String(object.resourceLabelsSelector[keys[i]]); + } } if (object.description != null) message.description = String(object.description); if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.ResourceValueConfig.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.ResourceValueConfig.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } switch (object.cloudProvider) { default: @@ -121776,7 +126555,7 @@ if (object.sensitiveDataProtectionMapping != null) { if (typeof object.sensitiveDataProtectionMapping !== "object") throw TypeError(".google.cloud.securitycenter.v2.ResourceValueConfig.sensitiveDataProtectionMapping: object expected"); - message.sensitiveDataProtectionMapping = $root.google.cloud.securitycenter.v2.ResourceValueConfig.SensitiveDataProtectionMapping.fromObject(object.sensitiveDataProtectionMapping); + message.sensitiveDataProtectionMapping = $root.google.cloud.securitycenter.v2.ResourceValueConfig.SensitiveDataProtectionMapping.fromObject(object.sensitiveDataProtectionMapping, long + 1); } return message; }; @@ -121825,8 +126604,11 @@ var keys2; if (message.resourceLabelsSelector && (keys2 = Object.keys(message.resourceLabelsSelector)).length) { object.resourceLabelsSelector = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.resourceLabelsSelector, keys2[j]); object.resourceLabelsSelector[keys2[j]] = message.resourceLabelsSelector[keys2[j]]; + } } if (message.description != null && message.hasOwnProperty("description")) object.description = message.description; @@ -121888,7 +126670,7 @@ function SensitiveDataProtectionMapping(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -121963,9 +126745,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SensitiveDataProtectionMapping.decode = function decode(reader, length, error) { + SensitiveDataProtectionMapping.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ResourceValueConfig.SensitiveDataProtectionMapping(); while (reader.pos < end) { var tag = reader.uint32(); @@ -121981,7 +126767,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -122012,9 +126798,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SensitiveDataProtectionMapping.verify = function verify(message) { + SensitiveDataProtectionMapping.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.highSensitivityMapping != null && message.hasOwnProperty("highSensitivityMapping")) switch (message.highSensitivityMapping) { default: @@ -122048,9 +126838,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ResourceValueConfig.SensitiveDataProtectionMapping} SensitiveDataProtectionMapping */ - SensitiveDataProtectionMapping.fromObject = function fromObject(object) { + SensitiveDataProtectionMapping.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ResourceValueConfig.SensitiveDataProtectionMapping) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ResourceValueConfig.SensitiveDataProtectionMapping(); switch (object.highSensitivityMapping) { default: @@ -123564,7 +128358,7 @@ this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -123640,9 +128434,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchCreateResourceValueConfigsRequest.decode = function decode(reader, length, error) { + BatchCreateResourceValueConfigsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.BatchCreateResourceValueConfigsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -123656,11 +128454,11 @@ case 2: { if (!(message.requests && message.requests.length)) message.requests = []; - message.requests.push($root.google.cloud.securitycenter.v2.CreateResourceValueConfigRequest.decode(reader, reader.uint32())); + message.requests.push($root.google.cloud.securitycenter.v2.CreateResourceValueConfigRequest.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -123691,9 +128489,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchCreateResourceValueConfigsRequest.verify = function verify(message) { + BatchCreateResourceValueConfigsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -123701,7 +128503,7 @@ if (!Array.isArray(message.requests)) return "requests: array expected"; for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.CreateResourceValueConfigRequest.verify(message.requests[i]); + var error = $root.google.cloud.securitycenter.v2.CreateResourceValueConfigRequest.verify(message.requests[i], long + 1); if (error) return "requests." + error; } @@ -123717,9 +128519,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.BatchCreateResourceValueConfigsRequest} BatchCreateResourceValueConfigsRequest */ - BatchCreateResourceValueConfigsRequest.fromObject = function fromObject(object) { + BatchCreateResourceValueConfigsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.BatchCreateResourceValueConfigsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.BatchCreateResourceValueConfigsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -123730,7 +128536,7 @@ for (var i = 0; i < object.requests.length; ++i) { if (typeof object.requests[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.BatchCreateResourceValueConfigsRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.securitycenter.v2.CreateResourceValueConfigRequest.fromObject(object.requests[i]); + message.requests[i] = $root.google.cloud.securitycenter.v2.CreateResourceValueConfigRequest.fromObject(object.requests[i], long + 1); } } return message; @@ -123813,7 +128619,7 @@ this.resourceValueConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -123879,9 +128685,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchCreateResourceValueConfigsResponse.decode = function decode(reader, length, error) { + BatchCreateResourceValueConfigsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.BatchCreateResourceValueConfigsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -123891,11 +128701,11 @@ case 1: { if (!(message.resourceValueConfigs && message.resourceValueConfigs.length)) message.resourceValueConfigs = []; - message.resourceValueConfigs.push($root.google.cloud.securitycenter.v2.ResourceValueConfig.decode(reader, reader.uint32())); + message.resourceValueConfigs.push($root.google.cloud.securitycenter.v2.ResourceValueConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -123926,14 +128736,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchCreateResourceValueConfigsResponse.verify = function verify(message) { + BatchCreateResourceValueConfigsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceValueConfigs != null && message.hasOwnProperty("resourceValueConfigs")) { if (!Array.isArray(message.resourceValueConfigs)) return "resourceValueConfigs: array expected"; for (var i = 0; i < message.resourceValueConfigs.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.ResourceValueConfig.verify(message.resourceValueConfigs[i]); + var error = $root.google.cloud.securitycenter.v2.ResourceValueConfig.verify(message.resourceValueConfigs[i], long + 1); if (error) return "resourceValueConfigs." + error; } @@ -123949,9 +128763,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.BatchCreateResourceValueConfigsResponse} BatchCreateResourceValueConfigsResponse */ - BatchCreateResourceValueConfigsResponse.fromObject = function fromObject(object) { + BatchCreateResourceValueConfigsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.BatchCreateResourceValueConfigsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.BatchCreateResourceValueConfigsResponse(); if (object.resourceValueConfigs) { if (!Array.isArray(object.resourceValueConfigs)) @@ -123960,7 +128778,7 @@ for (var i = 0; i < object.resourceValueConfigs.length; ++i) { if (typeof object.resourceValueConfigs[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.BatchCreateResourceValueConfigsResponse.resourceValueConfigs: object expected"); - message.resourceValueConfigs[i] = $root.google.cloud.securitycenter.v2.ResourceValueConfig.fromObject(object.resourceValueConfigs[i]); + message.resourceValueConfigs[i] = $root.google.cloud.securitycenter.v2.ResourceValueConfig.fromObject(object.resourceValueConfigs[i], long + 1); } } return message; @@ -124040,7 +128858,7 @@ function BulkMuteFindingsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -124125,9 +128943,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BulkMuteFindingsRequest.decode = function decode(reader, length, error) { + BulkMuteFindingsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.BulkMuteFindingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -124147,7 +128969,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -124178,9 +129000,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BulkMuteFindingsRequest.verify = function verify(message) { + BulkMuteFindingsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -124207,9 +129033,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.BulkMuteFindingsRequest} BulkMuteFindingsRequest */ - BulkMuteFindingsRequest.fromObject = function fromObject(object) { + BulkMuteFindingsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.BulkMuteFindingsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.BulkMuteFindingsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -124329,7 +129159,7 @@ function BulkMuteFindingsResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -124384,9 +129214,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BulkMuteFindingsResponse.decode = function decode(reader, length, error) { + BulkMuteFindingsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.BulkMuteFindingsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -124394,7 +129228,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -124425,9 +129259,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BulkMuteFindingsResponse.verify = function verify(message) { + BulkMuteFindingsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -124439,9 +129277,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.BulkMuteFindingsResponse} BulkMuteFindingsResponse */ - BulkMuteFindingsResponse.fromObject = function fromObject(object) { + BulkMuteFindingsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.BulkMuteFindingsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.securitycenter.v2.BulkMuteFindingsResponse(); }; @@ -124509,7 +129351,7 @@ function CreateBigQueryExportRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -124594,9 +129436,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateBigQueryExportRequest.decode = function decode(reader, length, error) { + CreateBigQueryExportRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.CreateBigQueryExportRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -124608,7 +129454,7 @@ break; } case 2: { - message.bigQueryExport = $root.google.cloud.securitycenter.v2.BigQueryExport.decode(reader, reader.uint32()); + message.bigQueryExport = $root.google.cloud.securitycenter.v2.BigQueryExport.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -124616,7 +129462,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -124647,14 +129493,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateBigQueryExportRequest.verify = function verify(message) { + CreateBigQueryExportRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.bigQueryExport != null && message.hasOwnProperty("bigQueryExport")) { - var error = $root.google.cloud.securitycenter.v2.BigQueryExport.verify(message.bigQueryExport); + var error = $root.google.cloud.securitycenter.v2.BigQueryExport.verify(message.bigQueryExport, long + 1); if (error) return "bigQueryExport." + error; } @@ -124672,16 +129522,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.CreateBigQueryExportRequest} CreateBigQueryExportRequest */ - CreateBigQueryExportRequest.fromObject = function fromObject(object) { + CreateBigQueryExportRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.CreateBigQueryExportRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.CreateBigQueryExportRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.bigQueryExport != null) { if (typeof object.bigQueryExport !== "object") throw TypeError(".google.cloud.securitycenter.v2.CreateBigQueryExportRequest.bigQueryExport: object expected"); - message.bigQueryExport = $root.google.cloud.securitycenter.v2.BigQueryExport.fromObject(object.bigQueryExport); + message.bigQueryExport = $root.google.cloud.securitycenter.v2.BigQueryExport.fromObject(object.bigQueryExport, long + 1); } if (object.bigQueryExportId != null) message.bigQueryExportId = String(object.bigQueryExportId); @@ -124766,7 +129620,7 @@ function CreateFindingRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -124851,9 +129705,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateFindingRequest.decode = function decode(reader, length, error) { + CreateFindingRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.CreateFindingRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -124869,11 +129727,11 @@ break; } case 3: { - message.finding = $root.google.cloud.securitycenter.v2.Finding.decode(reader, reader.uint32()); + message.finding = $root.google.cloud.securitycenter.v2.Finding.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -124904,9 +129762,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateFindingRequest.verify = function verify(message) { + CreateFindingRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -124914,7 +129776,7 @@ if (!$util.isString(message.findingId)) return "findingId: string expected"; if (message.finding != null && message.hasOwnProperty("finding")) { - var error = $root.google.cloud.securitycenter.v2.Finding.verify(message.finding); + var error = $root.google.cloud.securitycenter.v2.Finding.verify(message.finding, long + 1); if (error) return "finding." + error; } @@ -124929,9 +129791,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.CreateFindingRequest} CreateFindingRequest */ - CreateFindingRequest.fromObject = function fromObject(object) { + CreateFindingRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.CreateFindingRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.CreateFindingRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -124940,7 +129806,7 @@ if (object.finding != null) { if (typeof object.finding !== "object") throw TypeError(".google.cloud.securitycenter.v2.CreateFindingRequest.finding: object expected"); - message.finding = $root.google.cloud.securitycenter.v2.Finding.fromObject(object.finding); + message.finding = $root.google.cloud.securitycenter.v2.Finding.fromObject(object.finding, long + 1); } return message; }; @@ -125023,7 +129889,7 @@ function CreateMuteConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -125108,9 +129974,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateMuteConfigRequest.decode = function decode(reader, length, error) { + CreateMuteConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.CreateMuteConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -125122,7 +129992,7 @@ break; } case 2: { - message.muteConfig = $root.google.cloud.securitycenter.v2.MuteConfig.decode(reader, reader.uint32()); + message.muteConfig = $root.google.cloud.securitycenter.v2.MuteConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -125130,7 +130000,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -125161,14 +130031,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateMuteConfigRequest.verify = function verify(message) { + CreateMuteConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.muteConfig != null && message.hasOwnProperty("muteConfig")) { - var error = $root.google.cloud.securitycenter.v2.MuteConfig.verify(message.muteConfig); + var error = $root.google.cloud.securitycenter.v2.MuteConfig.verify(message.muteConfig, long + 1); if (error) return "muteConfig." + error; } @@ -125186,16 +130060,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.CreateMuteConfigRequest} CreateMuteConfigRequest */ - CreateMuteConfigRequest.fromObject = function fromObject(object) { + CreateMuteConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.CreateMuteConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.CreateMuteConfigRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.muteConfig != null) { if (typeof object.muteConfig !== "object") throw TypeError(".google.cloud.securitycenter.v2.CreateMuteConfigRequest.muteConfig: object expected"); - message.muteConfig = $root.google.cloud.securitycenter.v2.MuteConfig.fromObject(object.muteConfig); + message.muteConfig = $root.google.cloud.securitycenter.v2.MuteConfig.fromObject(object.muteConfig, long + 1); } if (object.muteConfigId != null) message.muteConfigId = String(object.muteConfigId); @@ -125280,7 +130158,7 @@ function CreateNotificationConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -125365,9 +130243,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateNotificationConfigRequest.decode = function decode(reader, length, error) { + CreateNotificationConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.CreateNotificationConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -125383,11 +130265,11 @@ break; } case 3: { - message.notificationConfig = $root.google.cloud.securitycenter.v2.NotificationConfig.decode(reader, reader.uint32()); + message.notificationConfig = $root.google.cloud.securitycenter.v2.NotificationConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -125418,9 +130300,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateNotificationConfigRequest.verify = function verify(message) { + CreateNotificationConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -125428,7 +130314,7 @@ if (!$util.isString(message.configId)) return "configId: string expected"; if (message.notificationConfig != null && message.hasOwnProperty("notificationConfig")) { - var error = $root.google.cloud.securitycenter.v2.NotificationConfig.verify(message.notificationConfig); + var error = $root.google.cloud.securitycenter.v2.NotificationConfig.verify(message.notificationConfig, long + 1); if (error) return "notificationConfig." + error; } @@ -125443,9 +130329,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.CreateNotificationConfigRequest} CreateNotificationConfigRequest */ - CreateNotificationConfigRequest.fromObject = function fromObject(object) { + CreateNotificationConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.CreateNotificationConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.CreateNotificationConfigRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -125454,7 +130344,7 @@ if (object.notificationConfig != null) { if (typeof object.notificationConfig !== "object") throw TypeError(".google.cloud.securitycenter.v2.CreateNotificationConfigRequest.notificationConfig: object expected"); - message.notificationConfig = $root.google.cloud.securitycenter.v2.NotificationConfig.fromObject(object.notificationConfig); + message.notificationConfig = $root.google.cloud.securitycenter.v2.NotificationConfig.fromObject(object.notificationConfig, long + 1); } return message; }; @@ -125536,7 +130426,7 @@ function CreateResourceValueConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -125611,9 +130501,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateResourceValueConfigRequest.decode = function decode(reader, length, error) { + CreateResourceValueConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.CreateResourceValueConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -125625,11 +130519,11 @@ break; } case 2: { - message.resourceValueConfig = $root.google.cloud.securitycenter.v2.ResourceValueConfig.decode(reader, reader.uint32()); + message.resourceValueConfig = $root.google.cloud.securitycenter.v2.ResourceValueConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -125660,14 +130554,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateResourceValueConfigRequest.verify = function verify(message) { + CreateResourceValueConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.resourceValueConfig != null && message.hasOwnProperty("resourceValueConfig")) { - var error = $root.google.cloud.securitycenter.v2.ResourceValueConfig.verify(message.resourceValueConfig); + var error = $root.google.cloud.securitycenter.v2.ResourceValueConfig.verify(message.resourceValueConfig, long + 1); if (error) return "resourceValueConfig." + error; } @@ -125682,16 +130580,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.CreateResourceValueConfigRequest} CreateResourceValueConfigRequest */ - CreateResourceValueConfigRequest.fromObject = function fromObject(object) { + CreateResourceValueConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.CreateResourceValueConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.CreateResourceValueConfigRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.resourceValueConfig != null) { if (typeof object.resourceValueConfig !== "object") throw TypeError(".google.cloud.securitycenter.v2.CreateResourceValueConfigRequest.resourceValueConfig: object expected"); - message.resourceValueConfig = $root.google.cloud.securitycenter.v2.ResourceValueConfig.fromObject(object.resourceValueConfig); + message.resourceValueConfig = $root.google.cloud.securitycenter.v2.ResourceValueConfig.fromObject(object.resourceValueConfig, long + 1); } return message; }; @@ -125770,7 +130672,7 @@ function CreateSourceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -125845,9 +130747,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateSourceRequest.decode = function decode(reader, length, error) { + CreateSourceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.CreateSourceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -125859,11 +130765,11 @@ break; } case 2: { - message.source = $root.google.cloud.securitycenter.v2.Source.decode(reader, reader.uint32()); + message.source = $root.google.cloud.securitycenter.v2.Source.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -125894,14 +130800,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateSourceRequest.verify = function verify(message) { + CreateSourceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.source != null && message.hasOwnProperty("source")) { - var error = $root.google.cloud.securitycenter.v2.Source.verify(message.source); + var error = $root.google.cloud.securitycenter.v2.Source.verify(message.source, long + 1); if (error) return "source." + error; } @@ -125916,16 +130826,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.CreateSourceRequest} CreateSourceRequest */ - CreateSourceRequest.fromObject = function fromObject(object) { + CreateSourceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.CreateSourceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.CreateSourceRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.source != null) { if (typeof object.source !== "object") throw TypeError(".google.cloud.securitycenter.v2.CreateSourceRequest.source: object expected"); - message.source = $root.google.cloud.securitycenter.v2.Source.fromObject(object.source); + message.source = $root.google.cloud.securitycenter.v2.Source.fromObject(object.source, long + 1); } return message; }; @@ -126003,7 +130917,7 @@ function DeleteBigQueryExportRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -126068,9 +130982,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteBigQueryExportRequest.decode = function decode(reader, length, error) { + DeleteBigQueryExportRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.DeleteBigQueryExportRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -126082,7 +131000,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -126113,9 +131031,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteBigQueryExportRequest.verify = function verify(message) { + DeleteBigQueryExportRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -126130,9 +131052,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.DeleteBigQueryExportRequest} DeleteBigQueryExportRequest */ - DeleteBigQueryExportRequest.fromObject = function fromObject(object) { + DeleteBigQueryExportRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.DeleteBigQueryExportRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.DeleteBigQueryExportRequest(); if (object.name != null) message.name = String(object.name); @@ -126208,7 +131134,7 @@ function DeleteMuteConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -126273,9 +131199,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteMuteConfigRequest.decode = function decode(reader, length, error) { + DeleteMuteConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.DeleteMuteConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -126287,7 +131217,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -126318,9 +131248,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteMuteConfigRequest.verify = function verify(message) { + DeleteMuteConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -126335,9 +131269,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.DeleteMuteConfigRequest} DeleteMuteConfigRequest */ - DeleteMuteConfigRequest.fromObject = function fromObject(object) { + DeleteMuteConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.DeleteMuteConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.DeleteMuteConfigRequest(); if (object.name != null) message.name = String(object.name); @@ -126413,7 +131351,7 @@ function DeleteNotificationConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -126478,9 +131416,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteNotificationConfigRequest.decode = function decode(reader, length, error) { + DeleteNotificationConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.DeleteNotificationConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -126492,7 +131434,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -126523,9 +131465,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteNotificationConfigRequest.verify = function verify(message) { + DeleteNotificationConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -126540,9 +131486,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.DeleteNotificationConfigRequest} DeleteNotificationConfigRequest */ - DeleteNotificationConfigRequest.fromObject = function fromObject(object) { + DeleteNotificationConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.DeleteNotificationConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.DeleteNotificationConfigRequest(); if (object.name != null) message.name = String(object.name); @@ -126618,7 +131568,7 @@ function DeleteResourceValueConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -126683,9 +131633,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteResourceValueConfigRequest.decode = function decode(reader, length, error) { + DeleteResourceValueConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.DeleteResourceValueConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -126697,7 +131651,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -126728,9 +131682,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteResourceValueConfigRequest.verify = function verify(message) { + DeleteResourceValueConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -126745,9 +131703,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.DeleteResourceValueConfigRequest} DeleteResourceValueConfigRequest */ - DeleteResourceValueConfigRequest.fromObject = function fromObject(object) { + DeleteResourceValueConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.DeleteResourceValueConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.DeleteResourceValueConfigRequest(); if (object.name != null) message.name = String(object.name); @@ -126823,7 +131785,7 @@ function BigQueryDestination(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -126888,9 +131850,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BigQueryDestination.decode = function decode(reader, length, error) { + BigQueryDestination.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.BigQueryDestination(); while (reader.pos < end) { var tag = reader.uint32(); @@ -126902,7 +131868,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -126933,9 +131899,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BigQueryDestination.verify = function verify(message) { + BigQueryDestination.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.dataset != null && message.hasOwnProperty("dataset")) if (!$util.isString(message.dataset)) return "dataset: string expected"; @@ -126950,9 +131920,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.BigQueryDestination} BigQueryDestination */ - BigQueryDestination.fromObject = function fromObject(object) { + BigQueryDestination.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.BigQueryDestination) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.BigQueryDestination(); if (object.dataset != null) message.dataset = String(object.dataset); @@ -127029,7 +132003,7 @@ function ExportFindingsMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -127118,9 +132092,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExportFindingsMetadata.decode = function decode(reader, length, error) { + ExportFindingsMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ExportFindingsMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -127128,15 +132106,15 @@ break; switch (tag >>> 3) { case 1: { - message.exportStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.exportStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.bigQueryDestination = $root.google.cloud.securitycenter.v2.BigQueryDestination.decode(reader, reader.uint32()); + message.bigQueryDestination = $root.google.cloud.securitycenter.v2.BigQueryDestination.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -127167,19 +132145,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExportFindingsMetadata.verify = function verify(message) { + ExportFindingsMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.exportStartTime != null && message.hasOwnProperty("exportStartTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.exportStartTime); + var error = $root.google.protobuf.Timestamp.verify(message.exportStartTime, long + 1); if (error) return "exportStartTime." + error; } if (message.bigQueryDestination != null && message.hasOwnProperty("bigQueryDestination")) { properties.destination = 1; { - var error = $root.google.cloud.securitycenter.v2.BigQueryDestination.verify(message.bigQueryDestination); + var error = $root.google.cloud.securitycenter.v2.BigQueryDestination.verify(message.bigQueryDestination, long + 1); if (error) return "bigQueryDestination." + error; } @@ -127195,19 +132177,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ExportFindingsMetadata} ExportFindingsMetadata */ - ExportFindingsMetadata.fromObject = function fromObject(object) { + ExportFindingsMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ExportFindingsMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ExportFindingsMetadata(); if (object.exportStartTime != null) { if (typeof object.exportStartTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.ExportFindingsMetadata.exportStartTime: object expected"); - message.exportStartTime = $root.google.protobuf.Timestamp.fromObject(object.exportStartTime); + message.exportStartTime = $root.google.protobuf.Timestamp.fromObject(object.exportStartTime, long + 1); } if (object.bigQueryDestination != null) { if (typeof object.bigQueryDestination !== "object") throw TypeError(".google.cloud.securitycenter.v2.ExportFindingsMetadata.bigQueryDestination: object expected"); - message.bigQueryDestination = $root.google.cloud.securitycenter.v2.BigQueryDestination.fromObject(object.bigQueryDestination); + message.bigQueryDestination = $root.google.cloud.securitycenter.v2.BigQueryDestination.fromObject(object.bigQueryDestination, long + 1); } return message; }; @@ -127285,7 +132271,7 @@ function ExportFindingsResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -127340,9 +132326,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExportFindingsResponse.decode = function decode(reader, length, error) { + ExportFindingsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ExportFindingsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -127350,7 +132340,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -127381,9 +132371,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExportFindingsResponse.verify = function verify(message) { + ExportFindingsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -127395,9 +132389,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ExportFindingsResponse} ExportFindingsResponse */ - ExportFindingsResponse.fromObject = function fromObject(object) { + ExportFindingsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ExportFindingsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.securitycenter.v2.ExportFindingsResponse(); }; @@ -127463,7 +132461,7 @@ function GetBigQueryExportRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -127528,9 +132526,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetBigQueryExportRequest.decode = function decode(reader, length, error) { + GetBigQueryExportRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.GetBigQueryExportRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -127542,7 +132544,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -127573,9 +132575,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetBigQueryExportRequest.verify = function verify(message) { + GetBigQueryExportRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -127590,9 +132596,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.GetBigQueryExportRequest} GetBigQueryExportRequest */ - GetBigQueryExportRequest.fromObject = function fromObject(object) { + GetBigQueryExportRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.GetBigQueryExportRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.GetBigQueryExportRequest(); if (object.name != null) message.name = String(object.name); @@ -127668,7 +132678,7 @@ function GetMuteConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -127733,9 +132743,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetMuteConfigRequest.decode = function decode(reader, length, error) { + GetMuteConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.GetMuteConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -127747,7 +132761,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -127778,9 +132792,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetMuteConfigRequest.verify = function verify(message) { + GetMuteConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -127795,9 +132813,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.GetMuteConfigRequest} GetMuteConfigRequest */ - GetMuteConfigRequest.fromObject = function fromObject(object) { + GetMuteConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.GetMuteConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.GetMuteConfigRequest(); if (object.name != null) message.name = String(object.name); @@ -127873,7 +132895,7 @@ function GetNotificationConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -127938,9 +132960,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetNotificationConfigRequest.decode = function decode(reader, length, error) { + GetNotificationConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.GetNotificationConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -127952,7 +132978,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -127983,9 +133009,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetNotificationConfigRequest.verify = function verify(message) { + GetNotificationConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -128000,9 +133030,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.GetNotificationConfigRequest} GetNotificationConfigRequest */ - GetNotificationConfigRequest.fromObject = function fromObject(object) { + GetNotificationConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.GetNotificationConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.GetNotificationConfigRequest(); if (object.name != null) message.name = String(object.name); @@ -128078,7 +133112,7 @@ function GetResourceValueConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -128143,9 +133177,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetResourceValueConfigRequest.decode = function decode(reader, length, error) { + GetResourceValueConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.GetResourceValueConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -128157,7 +133195,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -128188,9 +133226,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetResourceValueConfigRequest.verify = function verify(message) { + GetResourceValueConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -128205,9 +133247,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.GetResourceValueConfigRequest} GetResourceValueConfigRequest */ - GetResourceValueConfigRequest.fromObject = function fromObject(object) { + GetResourceValueConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.GetResourceValueConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.GetResourceValueConfigRequest(); if (object.name != null) message.name = String(object.name); @@ -128283,7 +133329,7 @@ function GetSourceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -128348,9 +133394,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetSourceRequest.decode = function decode(reader, length, error) { + GetSourceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.GetSourceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -128362,7 +133412,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -128393,9 +133443,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetSourceRequest.verify = function verify(message) { + GetSourceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -128410,9 +133464,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.GetSourceRequest} GetSourceRequest */ - GetSourceRequest.fromObject = function fromObject(object) { + GetSourceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.GetSourceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.GetSourceRequest(); if (object.name != null) message.name = String(object.name); @@ -128492,7 +133550,7 @@ function GroupFindingsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -128597,9 +133655,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupFindingsRequest.decode = function decode(reader, length, error) { + GroupFindingsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.GroupFindingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -128627,7 +133689,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -128658,9 +133720,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupFindingsRequest.verify = function verify(message) { + GroupFindingsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -128687,9 +133753,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.GroupFindingsRequest} GroupFindingsRequest */ - GroupFindingsRequest.fromObject = function fromObject(object) { + GroupFindingsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.GroupFindingsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.GroupFindingsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -128789,7 +133859,7 @@ this.groupByResults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -128875,9 +133945,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupFindingsResponse.decode = function decode(reader, length, error) { + GroupFindingsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.GroupFindingsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -128887,7 +133961,7 @@ case 1: { if (!(message.groupByResults && message.groupByResults.length)) message.groupByResults = []; - message.groupByResults.push($root.google.cloud.securitycenter.v2.GroupResult.decode(reader, reader.uint32())); + message.groupByResults.push($root.google.cloud.securitycenter.v2.GroupResult.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -128899,7 +133973,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -128930,14 +134004,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupFindingsResponse.verify = function verify(message) { + GroupFindingsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.groupByResults != null && message.hasOwnProperty("groupByResults")) { if (!Array.isArray(message.groupByResults)) return "groupByResults: array expected"; for (var i = 0; i < message.groupByResults.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.GroupResult.verify(message.groupByResults[i]); + var error = $root.google.cloud.securitycenter.v2.GroupResult.verify(message.groupByResults[i], long + 1); if (error) return "groupByResults." + error; } @@ -128959,9 +134037,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.GroupFindingsResponse} GroupFindingsResponse */ - GroupFindingsResponse.fromObject = function fromObject(object) { + GroupFindingsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.GroupFindingsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.GroupFindingsResponse(); if (object.groupByResults) { if (!Array.isArray(object.groupByResults)) @@ -128970,7 +134052,7 @@ for (var i = 0; i < object.groupByResults.length; ++i) { if (typeof object.groupByResults[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.GroupFindingsResponse.groupByResults: object expected"); - message.groupByResults[i] = $root.google.cloud.securitycenter.v2.GroupResult.fromObject(object.groupByResults[i]); + message.groupByResults[i] = $root.google.cloud.securitycenter.v2.GroupResult.fromObject(object.groupByResults[i], long + 1); } } if (object.nextPageToken != null) @@ -129062,7 +134144,7 @@ this.properties = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -129140,9 +134222,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupResult.decode = function decode(reader, length, error) { + GroupResult.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.GroupResult(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -129162,13 +134248,15 @@ key = reader.string(); break; case 2: - value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.properties, key); message.properties[key] = value; break; } @@ -129177,7 +134265,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -129208,15 +134296,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GroupResult.verify = function verify(message) { + GroupResult.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.properties != null && message.hasOwnProperty("properties")) { if (!$util.isObject(message.properties)) return "properties: object expected"; var key = Object.keys(message.properties); for (var i = 0; i < key.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.properties[key[i]]); + var error = $root.google.protobuf.Value.verify(message.properties[key[i]], long + 1); if (error) return "properties." + error; } @@ -129235,18 +134327,24 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.GroupResult} GroupResult */ - GroupResult.fromObject = function fromObject(object) { + GroupResult.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.GroupResult) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.GroupResult(); if (object.properties) { if (typeof object.properties !== "object") throw TypeError(".google.cloud.securitycenter.v2.GroupResult.properties: object expected"); message.properties = {}; for (var keys = Object.keys(object.properties), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.properties, keys[i]); if (typeof object.properties[keys[i]] !== "object") throw TypeError(".google.cloud.securitycenter.v2.GroupResult.properties: object expected"); - message.properties[keys[i]] = $root.google.protobuf.Value.fromObject(object.properties[keys[i]]); + message.properties[keys[i]] = $root.google.protobuf.Value.fromObject(object.properties[keys[i]], long + 1); } } if (object.count != null) @@ -129285,8 +134383,11 @@ var keys2; if (message.properties && (keys2 = Object.keys(message.properties)).length) { object.properties = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.properties, keys2[j]); object.properties[keys2[j]] = $root.google.protobuf.Value.toObject(message.properties[keys2[j]], options); + } } if (message.count != null && message.hasOwnProperty("count")) if (typeof message.count === "number") @@ -129348,7 +134449,7 @@ function ListAttackPathsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -129443,9 +134544,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAttackPathsRequest.decode = function decode(reader, length, error) { + ListAttackPathsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListAttackPathsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -129469,7 +134574,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -129500,9 +134605,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListAttackPathsRequest.verify = function verify(message) { + ListAttackPathsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -129526,9 +134635,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListAttackPathsRequest} ListAttackPathsRequest */ - ListAttackPathsRequest.fromObject = function fromObject(object) { + ListAttackPathsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListAttackPathsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListAttackPathsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -129622,7 +134735,7 @@ this.attackPaths = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -129698,9 +134811,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAttackPathsResponse.decode = function decode(reader, length, error) { + ListAttackPathsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListAttackPathsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -129710,7 +134827,7 @@ case 1: { if (!(message.attackPaths && message.attackPaths.length)) message.attackPaths = []; - message.attackPaths.push($root.google.cloud.securitycenter.v2.AttackPath.decode(reader, reader.uint32())); + message.attackPaths.push($root.google.cloud.securitycenter.v2.AttackPath.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -129718,7 +134835,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -129749,14 +134866,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListAttackPathsResponse.verify = function verify(message) { + ListAttackPathsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.attackPaths != null && message.hasOwnProperty("attackPaths")) { if (!Array.isArray(message.attackPaths)) return "attackPaths: array expected"; for (var i = 0; i < message.attackPaths.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.AttackPath.verify(message.attackPaths[i]); + var error = $root.google.cloud.securitycenter.v2.AttackPath.verify(message.attackPaths[i], long + 1); if (error) return "attackPaths." + error; } @@ -129775,9 +134896,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListAttackPathsResponse} ListAttackPathsResponse */ - ListAttackPathsResponse.fromObject = function fromObject(object) { + ListAttackPathsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListAttackPathsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListAttackPathsResponse(); if (object.attackPaths) { if (!Array.isArray(object.attackPaths)) @@ -129786,7 +134911,7 @@ for (var i = 0; i < object.attackPaths.length; ++i) { if (typeof object.attackPaths[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.ListAttackPathsResponse.attackPaths: object expected"); - message.attackPaths[i] = $root.google.cloud.securitycenter.v2.AttackPath.fromObject(object.attackPaths[i]); + message.attackPaths[i] = $root.google.cloud.securitycenter.v2.AttackPath.fromObject(object.attackPaths[i], long + 1); } } if (object.nextPageToken != null) @@ -129870,7 +134995,7 @@ function GetSimulationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -129935,9 +135060,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetSimulationRequest.decode = function decode(reader, length, error) { + GetSimulationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.GetSimulationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -129949,7 +135078,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -129980,9 +135109,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetSimulationRequest.verify = function verify(message) { + GetSimulationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -129997,9 +135130,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.GetSimulationRequest} GetSimulationRequest */ - GetSimulationRequest.fromObject = function fromObject(object) { + GetSimulationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.GetSimulationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.GetSimulationRequest(); if (object.name != null) message.name = String(object.name); @@ -130075,7 +135212,7 @@ function GetValuedResourceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -130140,9 +135277,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetValuedResourceRequest.decode = function decode(reader, length, error) { + GetValuedResourceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.GetValuedResourceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -130154,7 +135295,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -130185,9 +135326,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetValuedResourceRequest.verify = function verify(message) { + GetValuedResourceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -130202,9 +135347,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.GetValuedResourceRequest} GetValuedResourceRequest */ - GetValuedResourceRequest.fromObject = function fromObject(object) { + GetValuedResourceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.GetValuedResourceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.GetValuedResourceRequest(); if (object.name != null) message.name = String(object.name); @@ -130282,7 +135431,7 @@ function ListBigQueryExportsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -130367,9 +135516,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListBigQueryExportsRequest.decode = function decode(reader, length, error) { + ListBigQueryExportsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListBigQueryExportsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -130389,7 +135542,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -130420,9 +135573,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListBigQueryExportsRequest.verify = function verify(message) { + ListBigQueryExportsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -130443,9 +135600,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListBigQueryExportsRequest} ListBigQueryExportsRequest */ - ListBigQueryExportsRequest.fromObject = function fromObject(object) { + ListBigQueryExportsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListBigQueryExportsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListBigQueryExportsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -130534,7 +135695,7 @@ this.bigQueryExports = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -130610,9 +135771,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListBigQueryExportsResponse.decode = function decode(reader, length, error) { + ListBigQueryExportsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListBigQueryExportsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -130622,7 +135787,7 @@ case 1: { if (!(message.bigQueryExports && message.bigQueryExports.length)) message.bigQueryExports = []; - message.bigQueryExports.push($root.google.cloud.securitycenter.v2.BigQueryExport.decode(reader, reader.uint32())); + message.bigQueryExports.push($root.google.cloud.securitycenter.v2.BigQueryExport.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -130630,7 +135795,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -130661,14 +135826,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListBigQueryExportsResponse.verify = function verify(message) { + ListBigQueryExportsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bigQueryExports != null && message.hasOwnProperty("bigQueryExports")) { if (!Array.isArray(message.bigQueryExports)) return "bigQueryExports: array expected"; for (var i = 0; i < message.bigQueryExports.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.BigQueryExport.verify(message.bigQueryExports[i]); + var error = $root.google.cloud.securitycenter.v2.BigQueryExport.verify(message.bigQueryExports[i], long + 1); if (error) return "bigQueryExports." + error; } @@ -130687,9 +135856,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListBigQueryExportsResponse} ListBigQueryExportsResponse */ - ListBigQueryExportsResponse.fromObject = function fromObject(object) { + ListBigQueryExportsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListBigQueryExportsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListBigQueryExportsResponse(); if (object.bigQueryExports) { if (!Array.isArray(object.bigQueryExports)) @@ -130698,7 +135871,7 @@ for (var i = 0; i < object.bigQueryExports.length; ++i) { if (typeof object.bigQueryExports[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.ListBigQueryExportsResponse.bigQueryExports: object expected"); - message.bigQueryExports[i] = $root.google.cloud.securitycenter.v2.BigQueryExport.fromObject(object.bigQueryExports[i]); + message.bigQueryExports[i] = $root.google.cloud.securitycenter.v2.BigQueryExport.fromObject(object.bigQueryExports[i], long + 1); } } if (object.nextPageToken != null) @@ -130787,7 +135960,7 @@ function ListFindingsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -130902,9 +136075,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListFindingsRequest.decode = function decode(reader, length, error) { + ListFindingsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListFindingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -130924,7 +136101,7 @@ break; } case 7: { - message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { @@ -130936,7 +136113,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -130967,9 +136144,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListFindingsRequest.verify = function verify(message) { + ListFindingsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -130980,7 +136161,7 @@ if (!$util.isString(message.orderBy)) return "orderBy: string expected"; if (message.fieldMask != null && message.hasOwnProperty("fieldMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.fieldMask); + var error = $root.google.protobuf.FieldMask.verify(message.fieldMask, long + 1); if (error) return "fieldMask." + error; } @@ -131001,9 +136182,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListFindingsRequest} ListFindingsRequest */ - ListFindingsRequest.fromObject = function fromObject(object) { + ListFindingsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListFindingsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListFindingsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -131014,7 +136199,7 @@ if (object.fieldMask != null) { if (typeof object.fieldMask !== "object") throw TypeError(".google.cloud.securitycenter.v2.ListFindingsRequest.fieldMask: object expected"); - message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask); + message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask, long + 1); } if (object.pageToken != null) message.pageToken = String(object.pageToken); @@ -131111,7 +136296,7 @@ this.listFindingsResults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -131197,9 +136382,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListFindingsResponse.decode = function decode(reader, length, error) { + ListFindingsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListFindingsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -131209,7 +136398,7 @@ case 1: { if (!(message.listFindingsResults && message.listFindingsResults.length)) message.listFindingsResults = []; - message.listFindingsResults.push($root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.decode(reader, reader.uint32())); + message.listFindingsResults.push($root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -131221,7 +136410,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -131252,14 +136441,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListFindingsResponse.verify = function verify(message) { + ListFindingsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.listFindingsResults != null && message.hasOwnProperty("listFindingsResults")) { if (!Array.isArray(message.listFindingsResults)) return "listFindingsResults: array expected"; for (var i = 0; i < message.listFindingsResults.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.verify(message.listFindingsResults[i]); + var error = $root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.verify(message.listFindingsResults[i], long + 1); if (error) return "listFindingsResults." + error; } @@ -131281,9 +136474,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListFindingsResponse} ListFindingsResponse */ - ListFindingsResponse.fromObject = function fromObject(object) { + ListFindingsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListFindingsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListFindingsResponse(); if (object.listFindingsResults) { if (!Array.isArray(object.listFindingsResults)) @@ -131292,7 +136489,7 @@ for (var i = 0; i < object.listFindingsResults.length; ++i) { if (typeof object.listFindingsResults[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.ListFindingsResponse.listFindingsResults: object expected"); - message.listFindingsResults[i] = $root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.fromObject(object.listFindingsResults[i]); + message.listFindingsResults[i] = $root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.fromObject(object.listFindingsResults[i], long + 1); } } if (object.nextPageToken != null) @@ -131380,7 +136577,7 @@ function ListFindingsResult(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -131455,9 +136652,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListFindingsResult.decode = function decode(reader, length, error) { + ListFindingsResult.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult(); while (reader.pos < end) { var tag = reader.uint32(); @@ -131465,15 +136666,15 @@ break; switch (tag >>> 3) { case 1: { - message.finding = $root.google.cloud.securitycenter.v2.Finding.decode(reader, reader.uint32()); + message.finding = $root.google.cloud.securitycenter.v2.Finding.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.resource = $root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.Resource.decode(reader, reader.uint32()); + message.resource = $root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.Resource.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -131504,16 +136705,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListFindingsResult.verify = function verify(message) { + ListFindingsResult.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.finding != null && message.hasOwnProperty("finding")) { - var error = $root.google.cloud.securitycenter.v2.Finding.verify(message.finding); + var error = $root.google.cloud.securitycenter.v2.Finding.verify(message.finding, long + 1); if (error) return "finding." + error; } if (message.resource != null && message.hasOwnProperty("resource")) { - var error = $root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.Resource.verify(message.resource); + var error = $root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.Resource.verify(message.resource, long + 1); if (error) return "resource." + error; } @@ -131528,19 +136733,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult} ListFindingsResult */ - ListFindingsResult.fromObject = function fromObject(object) { + ListFindingsResult.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult(); if (object.finding != null) { if (typeof object.finding !== "object") throw TypeError(".google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.finding: object expected"); - message.finding = $root.google.cloud.securitycenter.v2.Finding.fromObject(object.finding); + message.finding = $root.google.cloud.securitycenter.v2.Finding.fromObject(object.finding, long + 1); } if (object.resource != null) { if (typeof object.resource !== "object") throw TypeError(".google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.resource: object expected"); - message.resource = $root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.Resource.fromObject(object.resource); + message.resource = $root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.Resource.fromObject(object.resource, long + 1); } return message; }; @@ -131625,7 +136834,7 @@ function Resource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -131804,9 +137013,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Resource.decode = function decode(reader, length, error) { + Resource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.Resource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -131838,19 +137051,19 @@ break; } case 7: { - message.gcpMetadata = $root.google.cloud.securitycenter.v2.GcpMetadata.decode(reader, reader.uint32()); + message.gcpMetadata = $root.google.cloud.securitycenter.v2.GcpMetadata.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { - message.awsMetadata = $root.google.cloud.securitycenter.v2.AwsMetadata.decode(reader, reader.uint32()); + message.awsMetadata = $root.google.cloud.securitycenter.v2.AwsMetadata.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.azureMetadata = $root.google.cloud.securitycenter.v2.AzureMetadata.decode(reader, reader.uint32()); + message.azureMetadata = $root.google.cloud.securitycenter.v2.AzureMetadata.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { - message.resourcePath = $root.google.cloud.securitycenter.v2.ResourcePath.decode(reader, reader.uint32()); + message.resourcePath = $root.google.cloud.securitycenter.v2.ResourcePath.decode(reader, reader.uint32(), undefined, long + 1); break; } case 11: { @@ -131858,7 +137071,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -131889,9 +137102,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Resource.verify = function verify(message) { + Resource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) @@ -131921,7 +137138,7 @@ if (message.gcpMetadata != null && message.hasOwnProperty("gcpMetadata")) { properties.cloudProviderMetadata = 1; { - var error = $root.google.cloud.securitycenter.v2.GcpMetadata.verify(message.gcpMetadata); + var error = $root.google.cloud.securitycenter.v2.GcpMetadata.verify(message.gcpMetadata, long + 1); if (error) return "gcpMetadata." + error; } @@ -131931,7 +137148,7 @@ return "cloudProviderMetadata: multiple values"; properties.cloudProviderMetadata = 1; { - var error = $root.google.cloud.securitycenter.v2.AwsMetadata.verify(message.awsMetadata); + var error = $root.google.cloud.securitycenter.v2.AwsMetadata.verify(message.awsMetadata, long + 1); if (error) return "awsMetadata." + error; } @@ -131941,13 +137158,13 @@ return "cloudProviderMetadata: multiple values"; properties.cloudProviderMetadata = 1; { - var error = $root.google.cloud.securitycenter.v2.AzureMetadata.verify(message.azureMetadata); + var error = $root.google.cloud.securitycenter.v2.AzureMetadata.verify(message.azureMetadata, long + 1); if (error) return "azureMetadata." + error; } } if (message.resourcePath != null && message.hasOwnProperty("resourcePath")) { - var error = $root.google.cloud.securitycenter.v2.ResourcePath.verify(message.resourcePath); + var error = $root.google.cloud.securitycenter.v2.ResourcePath.verify(message.resourcePath, long + 1); if (error) return "resourcePath." + error; } @@ -131965,9 +137182,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.Resource} Resource */ - Resource.fromObject = function fromObject(object) { + Resource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.Resource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.Resource(); if (object.name != null) message.name = String(object.name); @@ -132006,22 +137227,22 @@ if (object.gcpMetadata != null) { if (typeof object.gcpMetadata !== "object") throw TypeError(".google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.Resource.gcpMetadata: object expected"); - message.gcpMetadata = $root.google.cloud.securitycenter.v2.GcpMetadata.fromObject(object.gcpMetadata); + message.gcpMetadata = $root.google.cloud.securitycenter.v2.GcpMetadata.fromObject(object.gcpMetadata, long + 1); } if (object.awsMetadata != null) { if (typeof object.awsMetadata !== "object") throw TypeError(".google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.Resource.awsMetadata: object expected"); - message.awsMetadata = $root.google.cloud.securitycenter.v2.AwsMetadata.fromObject(object.awsMetadata); + message.awsMetadata = $root.google.cloud.securitycenter.v2.AwsMetadata.fromObject(object.awsMetadata, long + 1); } if (object.azureMetadata != null) { if (typeof object.azureMetadata !== "object") throw TypeError(".google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.Resource.azureMetadata: object expected"); - message.azureMetadata = $root.google.cloud.securitycenter.v2.AzureMetadata.fromObject(object.azureMetadata); + message.azureMetadata = $root.google.cloud.securitycenter.v2.AzureMetadata.fromObject(object.azureMetadata, long + 1); } if (object.resourcePath != null) { if (typeof object.resourcePath !== "object") throw TypeError(".google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.Resource.resourcePath: object expected"); - message.resourcePath = $root.google.cloud.securitycenter.v2.ResourcePath.fromObject(object.resourcePath); + message.resourcePath = $root.google.cloud.securitycenter.v2.ResourcePath.fromObject(object.resourcePath, long + 1); } if (object.resourcePathString != null) message.resourcePathString = String(object.resourcePathString); @@ -132142,7 +137363,7 @@ function ListMuteConfigsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -132227,9 +137448,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListMuteConfigsRequest.decode = function decode(reader, length, error) { + ListMuteConfigsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListMuteConfigsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -132249,7 +137474,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -132280,9 +137505,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListMuteConfigsRequest.verify = function verify(message) { + ListMuteConfigsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -132303,9 +137532,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListMuteConfigsRequest} ListMuteConfigsRequest */ - ListMuteConfigsRequest.fromObject = function fromObject(object) { + ListMuteConfigsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListMuteConfigsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListMuteConfigsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -132394,7 +137627,7 @@ this.muteConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -132470,9 +137703,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListMuteConfigsResponse.decode = function decode(reader, length, error) { + ListMuteConfigsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListMuteConfigsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -132482,7 +137719,7 @@ case 1: { if (!(message.muteConfigs && message.muteConfigs.length)) message.muteConfigs = []; - message.muteConfigs.push($root.google.cloud.securitycenter.v2.MuteConfig.decode(reader, reader.uint32())); + message.muteConfigs.push($root.google.cloud.securitycenter.v2.MuteConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -132490,7 +137727,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -132521,14 +137758,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListMuteConfigsResponse.verify = function verify(message) { + ListMuteConfigsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.muteConfigs != null && message.hasOwnProperty("muteConfigs")) { if (!Array.isArray(message.muteConfigs)) return "muteConfigs: array expected"; for (var i = 0; i < message.muteConfigs.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.MuteConfig.verify(message.muteConfigs[i]); + var error = $root.google.cloud.securitycenter.v2.MuteConfig.verify(message.muteConfigs[i], long + 1); if (error) return "muteConfigs." + error; } @@ -132547,9 +137788,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListMuteConfigsResponse} ListMuteConfigsResponse */ - ListMuteConfigsResponse.fromObject = function fromObject(object) { + ListMuteConfigsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListMuteConfigsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListMuteConfigsResponse(); if (object.muteConfigs) { if (!Array.isArray(object.muteConfigs)) @@ -132558,7 +137803,7 @@ for (var i = 0; i < object.muteConfigs.length; ++i) { if (typeof object.muteConfigs[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.ListMuteConfigsResponse.muteConfigs: object expected"); - message.muteConfigs[i] = $root.google.cloud.securitycenter.v2.MuteConfig.fromObject(object.muteConfigs[i]); + message.muteConfigs[i] = $root.google.cloud.securitycenter.v2.MuteConfig.fromObject(object.muteConfigs[i], long + 1); } } if (object.nextPageToken != null) @@ -132644,7 +137889,7 @@ function ListNotificationConfigsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -132729,9 +137974,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListNotificationConfigsRequest.decode = function decode(reader, length, error) { + ListNotificationConfigsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListNotificationConfigsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -132751,7 +138000,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -132782,9 +138031,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListNotificationConfigsRequest.verify = function verify(message) { + ListNotificationConfigsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -132805,9 +138058,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListNotificationConfigsRequest} ListNotificationConfigsRequest */ - ListNotificationConfigsRequest.fromObject = function fromObject(object) { + ListNotificationConfigsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListNotificationConfigsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListNotificationConfigsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -132896,7 +138153,7 @@ this.notificationConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -132972,9 +138229,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListNotificationConfigsResponse.decode = function decode(reader, length, error) { + ListNotificationConfigsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListNotificationConfigsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -132984,7 +138245,7 @@ case 1: { if (!(message.notificationConfigs && message.notificationConfigs.length)) message.notificationConfigs = []; - message.notificationConfigs.push($root.google.cloud.securitycenter.v2.NotificationConfig.decode(reader, reader.uint32())); + message.notificationConfigs.push($root.google.cloud.securitycenter.v2.NotificationConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -132992,7 +138253,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -133023,14 +138284,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListNotificationConfigsResponse.verify = function verify(message) { + ListNotificationConfigsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.notificationConfigs != null && message.hasOwnProperty("notificationConfigs")) { if (!Array.isArray(message.notificationConfigs)) return "notificationConfigs: array expected"; for (var i = 0; i < message.notificationConfigs.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.NotificationConfig.verify(message.notificationConfigs[i]); + var error = $root.google.cloud.securitycenter.v2.NotificationConfig.verify(message.notificationConfigs[i], long + 1); if (error) return "notificationConfigs." + error; } @@ -133049,9 +138314,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListNotificationConfigsResponse} ListNotificationConfigsResponse */ - ListNotificationConfigsResponse.fromObject = function fromObject(object) { + ListNotificationConfigsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListNotificationConfigsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListNotificationConfigsResponse(); if (object.notificationConfigs) { if (!Array.isArray(object.notificationConfigs)) @@ -133060,7 +138329,7 @@ for (var i = 0; i < object.notificationConfigs.length; ++i) { if (typeof object.notificationConfigs[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.ListNotificationConfigsResponse.notificationConfigs: object expected"); - message.notificationConfigs[i] = $root.google.cloud.securitycenter.v2.NotificationConfig.fromObject(object.notificationConfigs[i]); + message.notificationConfigs[i] = $root.google.cloud.securitycenter.v2.NotificationConfig.fromObject(object.notificationConfigs[i], long + 1); } } if (object.nextPageToken != null) @@ -133146,7 +138415,7 @@ function ListResourceValueConfigsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -133231,9 +138500,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListResourceValueConfigsRequest.decode = function decode(reader, length, error) { + ListResourceValueConfigsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListResourceValueConfigsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -133253,7 +138526,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -133284,9 +138557,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListResourceValueConfigsRequest.verify = function verify(message) { + ListResourceValueConfigsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -133307,9 +138584,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListResourceValueConfigsRequest} ListResourceValueConfigsRequest */ - ListResourceValueConfigsRequest.fromObject = function fromObject(object) { + ListResourceValueConfigsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListResourceValueConfigsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListResourceValueConfigsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -133398,7 +138679,7 @@ this.resourceValueConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -133474,9 +138755,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListResourceValueConfigsResponse.decode = function decode(reader, length, error) { + ListResourceValueConfigsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListResourceValueConfigsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -133486,7 +138771,7 @@ case 1: { if (!(message.resourceValueConfigs && message.resourceValueConfigs.length)) message.resourceValueConfigs = []; - message.resourceValueConfigs.push($root.google.cloud.securitycenter.v2.ResourceValueConfig.decode(reader, reader.uint32())); + message.resourceValueConfigs.push($root.google.cloud.securitycenter.v2.ResourceValueConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -133494,7 +138779,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -133525,14 +138810,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListResourceValueConfigsResponse.verify = function verify(message) { + ListResourceValueConfigsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceValueConfigs != null && message.hasOwnProperty("resourceValueConfigs")) { if (!Array.isArray(message.resourceValueConfigs)) return "resourceValueConfigs: array expected"; for (var i = 0; i < message.resourceValueConfigs.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.ResourceValueConfig.verify(message.resourceValueConfigs[i]); + var error = $root.google.cloud.securitycenter.v2.ResourceValueConfig.verify(message.resourceValueConfigs[i], long + 1); if (error) return "resourceValueConfigs." + error; } @@ -133551,9 +138840,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListResourceValueConfigsResponse} ListResourceValueConfigsResponse */ - ListResourceValueConfigsResponse.fromObject = function fromObject(object) { + ListResourceValueConfigsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListResourceValueConfigsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListResourceValueConfigsResponse(); if (object.resourceValueConfigs) { if (!Array.isArray(object.resourceValueConfigs)) @@ -133562,7 +138855,7 @@ for (var i = 0; i < object.resourceValueConfigs.length; ++i) { if (typeof object.resourceValueConfigs[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.ListResourceValueConfigsResponse.resourceValueConfigs: object expected"); - message.resourceValueConfigs[i] = $root.google.cloud.securitycenter.v2.ResourceValueConfig.fromObject(object.resourceValueConfigs[i]); + message.resourceValueConfigs[i] = $root.google.cloud.securitycenter.v2.ResourceValueConfig.fromObject(object.resourceValueConfigs[i], long + 1); } } if (object.nextPageToken != null) @@ -133648,7 +138941,7 @@ function ListSourcesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -133733,9 +139026,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListSourcesRequest.decode = function decode(reader, length, error) { + ListSourcesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListSourcesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -133755,7 +139052,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -133786,9 +139083,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListSourcesRequest.verify = function verify(message) { + ListSourcesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -133809,9 +139110,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListSourcesRequest} ListSourcesRequest */ - ListSourcesRequest.fromObject = function fromObject(object) { + ListSourcesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListSourcesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListSourcesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -133900,7 +139205,7 @@ this.sources = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -133976,9 +139281,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListSourcesResponse.decode = function decode(reader, length, error) { + ListSourcesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListSourcesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -133988,7 +139297,7 @@ case 1: { if (!(message.sources && message.sources.length)) message.sources = []; - message.sources.push($root.google.cloud.securitycenter.v2.Source.decode(reader, reader.uint32())); + message.sources.push($root.google.cloud.securitycenter.v2.Source.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -133996,7 +139305,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -134027,14 +139336,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListSourcesResponse.verify = function verify(message) { + ListSourcesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.sources != null && message.hasOwnProperty("sources")) { if (!Array.isArray(message.sources)) return "sources: array expected"; for (var i = 0; i < message.sources.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.Source.verify(message.sources[i]); + var error = $root.google.cloud.securitycenter.v2.Source.verify(message.sources[i], long + 1); if (error) return "sources." + error; } @@ -134053,9 +139366,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListSourcesResponse} ListSourcesResponse */ - ListSourcesResponse.fromObject = function fromObject(object) { + ListSourcesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListSourcesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListSourcesResponse(); if (object.sources) { if (!Array.isArray(object.sources)) @@ -134064,7 +139381,7 @@ for (var i = 0; i < object.sources.length; ++i) { if (typeof object.sources[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.ListSourcesResponse.sources: object expected"); - message.sources[i] = $root.google.cloud.securitycenter.v2.Source.fromObject(object.sources[i]); + message.sources[i] = $root.google.cloud.securitycenter.v2.Source.fromObject(object.sources[i], long + 1); } } if (object.nextPageToken != null) @@ -134152,7 +139469,7 @@ function ListValuedResourcesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -134257,9 +139574,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListValuedResourcesRequest.decode = function decode(reader, length, error) { + ListValuedResourcesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListValuedResourcesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -134287,7 +139608,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -134318,9 +139639,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListValuedResourcesRequest.verify = function verify(message) { + ListValuedResourcesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -134347,9 +139672,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListValuedResourcesRequest} ListValuedResourcesRequest */ - ListValuedResourcesRequest.fromObject = function fromObject(object) { + ListValuedResourcesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListValuedResourcesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListValuedResourcesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -134449,7 +139778,7 @@ this.valuedResources = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -134535,9 +139864,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListValuedResourcesResponse.decode = function decode(reader, length, error) { + ListValuedResourcesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ListValuedResourcesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -134547,7 +139880,7 @@ case 1: { if (!(message.valuedResources && message.valuedResources.length)) message.valuedResources = []; - message.valuedResources.push($root.google.cloud.securitycenter.v2.ValuedResource.decode(reader, reader.uint32())); + message.valuedResources.push($root.google.cloud.securitycenter.v2.ValuedResource.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -134559,7 +139892,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -134590,14 +139923,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListValuedResourcesResponse.verify = function verify(message) { + ListValuedResourcesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.valuedResources != null && message.hasOwnProperty("valuedResources")) { if (!Array.isArray(message.valuedResources)) return "valuedResources: array expected"; for (var i = 0; i < message.valuedResources.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.ValuedResource.verify(message.valuedResources[i]); + var error = $root.google.cloud.securitycenter.v2.ValuedResource.verify(message.valuedResources[i], long + 1); if (error) return "valuedResources." + error; } @@ -134619,9 +139956,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ListValuedResourcesResponse} ListValuedResourcesResponse */ - ListValuedResourcesResponse.fromObject = function fromObject(object) { + ListValuedResourcesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ListValuedResourcesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ListValuedResourcesResponse(); if (object.valuedResources) { if (!Array.isArray(object.valuedResources)) @@ -134630,7 +139971,7 @@ for (var i = 0; i < object.valuedResources.length; ++i) { if (typeof object.valuedResources[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.ListValuedResourcesResponse.valuedResources: object expected"); - message.valuedResources[i] = $root.google.cloud.securitycenter.v2.ValuedResource.fromObject(object.valuedResources[i]); + message.valuedResources[i] = $root.google.cloud.securitycenter.v2.ValuedResource.fromObject(object.valuedResources[i], long + 1); } } if (object.nextPageToken != null) @@ -134721,7 +140062,7 @@ function SetFindingStateRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -134796,9 +140137,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SetFindingStateRequest.decode = function decode(reader, length, error) { + SetFindingStateRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.SetFindingStateRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -134814,7 +140159,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -134845,9 +140190,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SetFindingStateRequest.verify = function verify(message) { + SetFindingStateRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -134871,9 +140220,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.SetFindingStateRequest} SetFindingStateRequest */ - SetFindingStateRequest.fromObject = function fromObject(object) { + SetFindingStateRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.SetFindingStateRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.SetFindingStateRequest(); if (object.name != null) message.name = String(object.name); @@ -134974,7 +140327,7 @@ function SetMuteRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -135049,9 +140402,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SetMuteRequest.decode = function decode(reader, length, error) { + SetMuteRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.SetMuteRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -135067,7 +140424,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -135098,9 +140455,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SetMuteRequest.verify = function verify(message) { + SetMuteRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -135125,9 +140486,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.SetMuteRequest} SetMuteRequest */ - SetMuteRequest.fromObject = function fromObject(object) { + SetMuteRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.SetMuteRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.SetMuteRequest(); if (object.name != null) message.name = String(object.name); @@ -135232,7 +140597,7 @@ function UpdateBigQueryExportRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -135307,9 +140672,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateBigQueryExportRequest.decode = function decode(reader, length, error) { + UpdateBigQueryExportRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.UpdateBigQueryExportRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -135317,15 +140686,15 @@ break; switch (tag >>> 3) { case 1: { - message.bigQueryExport = $root.google.cloud.securitycenter.v2.BigQueryExport.decode(reader, reader.uint32()); + message.bigQueryExport = $root.google.cloud.securitycenter.v2.BigQueryExport.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -135356,16 +140725,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateBigQueryExportRequest.verify = function verify(message) { + UpdateBigQueryExportRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bigQueryExport != null && message.hasOwnProperty("bigQueryExport")) { - var error = $root.google.cloud.securitycenter.v2.BigQueryExport.verify(message.bigQueryExport); + var error = $root.google.cloud.securitycenter.v2.BigQueryExport.verify(message.bigQueryExport, long + 1); if (error) return "bigQueryExport." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -135380,19 +140753,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.UpdateBigQueryExportRequest} UpdateBigQueryExportRequest */ - UpdateBigQueryExportRequest.fromObject = function fromObject(object) { + UpdateBigQueryExportRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.UpdateBigQueryExportRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.UpdateBigQueryExportRequest(); if (object.bigQueryExport != null) { if (typeof object.bigQueryExport !== "object") throw TypeError(".google.cloud.securitycenter.v2.UpdateBigQueryExportRequest.bigQueryExport: object expected"); - message.bigQueryExport = $root.google.cloud.securitycenter.v2.BigQueryExport.fromObject(object.bigQueryExport); + message.bigQueryExport = $root.google.cloud.securitycenter.v2.BigQueryExport.fromObject(object.bigQueryExport, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v2.UpdateBigQueryExportRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -135471,7 +140848,7 @@ function UpdateExternalSystemRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -135546,9 +140923,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateExternalSystemRequest.decode = function decode(reader, length, error) { + UpdateExternalSystemRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.UpdateExternalSystemRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -135556,15 +140937,15 @@ break; switch (tag >>> 3) { case 1: { - message.externalSystem = $root.google.cloud.securitycenter.v2.ExternalSystem.decode(reader, reader.uint32()); + message.externalSystem = $root.google.cloud.securitycenter.v2.ExternalSystem.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -135595,16 +140976,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateExternalSystemRequest.verify = function verify(message) { + UpdateExternalSystemRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.externalSystem != null && message.hasOwnProperty("externalSystem")) { - var error = $root.google.cloud.securitycenter.v2.ExternalSystem.verify(message.externalSystem); + var error = $root.google.cloud.securitycenter.v2.ExternalSystem.verify(message.externalSystem, long + 1); if (error) return "externalSystem." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -135619,19 +141004,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.UpdateExternalSystemRequest} UpdateExternalSystemRequest */ - UpdateExternalSystemRequest.fromObject = function fromObject(object) { + UpdateExternalSystemRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.UpdateExternalSystemRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.UpdateExternalSystemRequest(); if (object.externalSystem != null) { if (typeof object.externalSystem !== "object") throw TypeError(".google.cloud.securitycenter.v2.UpdateExternalSystemRequest.externalSystem: object expected"); - message.externalSystem = $root.google.cloud.securitycenter.v2.ExternalSystem.fromObject(object.externalSystem); + message.externalSystem = $root.google.cloud.securitycenter.v2.ExternalSystem.fromObject(object.externalSystem, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v2.UpdateExternalSystemRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -135710,7 +141099,7 @@ function UpdateFindingRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -135785,9 +141174,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateFindingRequest.decode = function decode(reader, length, error) { + UpdateFindingRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.UpdateFindingRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -135795,15 +141188,15 @@ break; switch (tag >>> 3) { case 1: { - message.finding = $root.google.cloud.securitycenter.v2.Finding.decode(reader, reader.uint32()); + message.finding = $root.google.cloud.securitycenter.v2.Finding.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -135834,16 +141227,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateFindingRequest.verify = function verify(message) { + UpdateFindingRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.finding != null && message.hasOwnProperty("finding")) { - var error = $root.google.cloud.securitycenter.v2.Finding.verify(message.finding); + var error = $root.google.cloud.securitycenter.v2.Finding.verify(message.finding, long + 1); if (error) return "finding." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -135858,19 +141255,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.UpdateFindingRequest} UpdateFindingRequest */ - UpdateFindingRequest.fromObject = function fromObject(object) { + UpdateFindingRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.UpdateFindingRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.UpdateFindingRequest(); if (object.finding != null) { if (typeof object.finding !== "object") throw TypeError(".google.cloud.securitycenter.v2.UpdateFindingRequest.finding: object expected"); - message.finding = $root.google.cloud.securitycenter.v2.Finding.fromObject(object.finding); + message.finding = $root.google.cloud.securitycenter.v2.Finding.fromObject(object.finding, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v2.UpdateFindingRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -135949,7 +141350,7 @@ function UpdateMuteConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -136024,9 +141425,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateMuteConfigRequest.decode = function decode(reader, length, error) { + UpdateMuteConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.UpdateMuteConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -136034,15 +141439,15 @@ break; switch (tag >>> 3) { case 1: { - message.muteConfig = $root.google.cloud.securitycenter.v2.MuteConfig.decode(reader, reader.uint32()); + message.muteConfig = $root.google.cloud.securitycenter.v2.MuteConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -136073,16 +141478,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateMuteConfigRequest.verify = function verify(message) { + UpdateMuteConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.muteConfig != null && message.hasOwnProperty("muteConfig")) { - var error = $root.google.cloud.securitycenter.v2.MuteConfig.verify(message.muteConfig); + var error = $root.google.cloud.securitycenter.v2.MuteConfig.verify(message.muteConfig, long + 1); if (error) return "muteConfig." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -136097,19 +141506,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.UpdateMuteConfigRequest} UpdateMuteConfigRequest */ - UpdateMuteConfigRequest.fromObject = function fromObject(object) { + UpdateMuteConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.UpdateMuteConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.UpdateMuteConfigRequest(); if (object.muteConfig != null) { if (typeof object.muteConfig !== "object") throw TypeError(".google.cloud.securitycenter.v2.UpdateMuteConfigRequest.muteConfig: object expected"); - message.muteConfig = $root.google.cloud.securitycenter.v2.MuteConfig.fromObject(object.muteConfig); + message.muteConfig = $root.google.cloud.securitycenter.v2.MuteConfig.fromObject(object.muteConfig, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v2.UpdateMuteConfigRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -136188,7 +141601,7 @@ function UpdateNotificationConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -136263,9 +141676,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateNotificationConfigRequest.decode = function decode(reader, length, error) { + UpdateNotificationConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.UpdateNotificationConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -136273,15 +141690,15 @@ break; switch (tag >>> 3) { case 1: { - message.notificationConfig = $root.google.cloud.securitycenter.v2.NotificationConfig.decode(reader, reader.uint32()); + message.notificationConfig = $root.google.cloud.securitycenter.v2.NotificationConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -136312,16 +141729,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateNotificationConfigRequest.verify = function verify(message) { + UpdateNotificationConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.notificationConfig != null && message.hasOwnProperty("notificationConfig")) { - var error = $root.google.cloud.securitycenter.v2.NotificationConfig.verify(message.notificationConfig); + var error = $root.google.cloud.securitycenter.v2.NotificationConfig.verify(message.notificationConfig, long + 1); if (error) return "notificationConfig." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -136336,19 +141757,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.UpdateNotificationConfigRequest} UpdateNotificationConfigRequest */ - UpdateNotificationConfigRequest.fromObject = function fromObject(object) { + UpdateNotificationConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.UpdateNotificationConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.UpdateNotificationConfigRequest(); if (object.notificationConfig != null) { if (typeof object.notificationConfig !== "object") throw TypeError(".google.cloud.securitycenter.v2.UpdateNotificationConfigRequest.notificationConfig: object expected"); - message.notificationConfig = $root.google.cloud.securitycenter.v2.NotificationConfig.fromObject(object.notificationConfig); + message.notificationConfig = $root.google.cloud.securitycenter.v2.NotificationConfig.fromObject(object.notificationConfig, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v2.UpdateNotificationConfigRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -136427,7 +141852,7 @@ function UpdateResourceValueConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -136502,9 +141927,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateResourceValueConfigRequest.decode = function decode(reader, length, error) { + UpdateResourceValueConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.UpdateResourceValueConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -136512,15 +141941,15 @@ break; switch (tag >>> 3) { case 1: { - message.resourceValueConfig = $root.google.cloud.securitycenter.v2.ResourceValueConfig.decode(reader, reader.uint32()); + message.resourceValueConfig = $root.google.cloud.securitycenter.v2.ResourceValueConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -136551,16 +141980,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateResourceValueConfigRequest.verify = function verify(message) { + UpdateResourceValueConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceValueConfig != null && message.hasOwnProperty("resourceValueConfig")) { - var error = $root.google.cloud.securitycenter.v2.ResourceValueConfig.verify(message.resourceValueConfig); + var error = $root.google.cloud.securitycenter.v2.ResourceValueConfig.verify(message.resourceValueConfig, long + 1); if (error) return "resourceValueConfig." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -136575,19 +142008,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.UpdateResourceValueConfigRequest} UpdateResourceValueConfigRequest */ - UpdateResourceValueConfigRequest.fromObject = function fromObject(object) { + UpdateResourceValueConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.UpdateResourceValueConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.UpdateResourceValueConfigRequest(); if (object.resourceValueConfig != null) { if (typeof object.resourceValueConfig !== "object") throw TypeError(".google.cloud.securitycenter.v2.UpdateResourceValueConfigRequest.resourceValueConfig: object expected"); - message.resourceValueConfig = $root.google.cloud.securitycenter.v2.ResourceValueConfig.fromObject(object.resourceValueConfig); + message.resourceValueConfig = $root.google.cloud.securitycenter.v2.ResourceValueConfig.fromObject(object.resourceValueConfig, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v2.UpdateResourceValueConfigRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -136666,7 +142103,7 @@ function UpdateSecurityMarksRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -136741,9 +142178,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateSecurityMarksRequest.decode = function decode(reader, length, error) { + UpdateSecurityMarksRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.UpdateSecurityMarksRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -136751,15 +142192,15 @@ break; switch (tag >>> 3) { case 1: { - message.securityMarks = $root.google.cloud.securitycenter.v2.SecurityMarks.decode(reader, reader.uint32()); + message.securityMarks = $root.google.cloud.securitycenter.v2.SecurityMarks.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -136790,16 +142231,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateSecurityMarksRequest.verify = function verify(message) { + UpdateSecurityMarksRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.securityMarks != null && message.hasOwnProperty("securityMarks")) { - var error = $root.google.cloud.securitycenter.v2.SecurityMarks.verify(message.securityMarks); + var error = $root.google.cloud.securitycenter.v2.SecurityMarks.verify(message.securityMarks, long + 1); if (error) return "securityMarks." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -136814,19 +142259,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.UpdateSecurityMarksRequest} UpdateSecurityMarksRequest */ - UpdateSecurityMarksRequest.fromObject = function fromObject(object) { + UpdateSecurityMarksRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.UpdateSecurityMarksRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.UpdateSecurityMarksRequest(); if (object.securityMarks != null) { if (typeof object.securityMarks !== "object") throw TypeError(".google.cloud.securitycenter.v2.UpdateSecurityMarksRequest.securityMarks: object expected"); - message.securityMarks = $root.google.cloud.securitycenter.v2.SecurityMarks.fromObject(object.securityMarks); + message.securityMarks = $root.google.cloud.securitycenter.v2.SecurityMarks.fromObject(object.securityMarks, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v2.UpdateSecurityMarksRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -136905,7 +142354,7 @@ function UpdateSourceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -136980,9 +142429,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateSourceRequest.decode = function decode(reader, length, error) { + UpdateSourceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.UpdateSourceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -136990,15 +142443,15 @@ break; switch (tag >>> 3) { case 1: { - message.source = $root.google.cloud.securitycenter.v2.Source.decode(reader, reader.uint32()); + message.source = $root.google.cloud.securitycenter.v2.Source.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -137029,16 +142482,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateSourceRequest.verify = function verify(message) { + UpdateSourceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.source != null && message.hasOwnProperty("source")) { - var error = $root.google.cloud.securitycenter.v2.Source.verify(message.source); + var error = $root.google.cloud.securitycenter.v2.Source.verify(message.source, long + 1); if (error) return "source." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -137053,19 +142510,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.UpdateSourceRequest} UpdateSourceRequest */ - UpdateSourceRequest.fromObject = function fromObject(object) { + UpdateSourceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.UpdateSourceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.UpdateSourceRequest(); if (object.source != null) { if (typeof object.source !== "object") throw TypeError(".google.cloud.securitycenter.v2.UpdateSourceRequest.source: object expected"); - message.source = $root.google.cloud.securitycenter.v2.Source.fromObject(object.source); + message.source = $root.google.cloud.securitycenter.v2.Source.fromObject(object.source, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycenter.v2.UpdateSourceRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -137147,7 +142608,7 @@ this.resourceValueConfigsMetadata = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -137243,9 +142704,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Simulation.decode = function decode(reader, length, error) { + Simulation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Simulation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -137257,13 +142722,13 @@ break; } case 2: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { if (!(message.resourceValueConfigsMetadata && message.resourceValueConfigsMetadata.length)) message.resourceValueConfigsMetadata = []; - message.resourceValueConfigsMetadata.push($root.google.cloud.securitycenter.v2.ResourceValueConfigMetadata.decode(reader, reader.uint32())); + message.resourceValueConfigsMetadata.push($root.google.cloud.securitycenter.v2.ResourceValueConfigMetadata.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { @@ -137271,7 +142736,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -137302,14 +142767,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Simulation.verify = function verify(message) { + Simulation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } @@ -137317,7 +142786,7 @@ if (!Array.isArray(message.resourceValueConfigsMetadata)) return "resourceValueConfigsMetadata: array expected"; for (var i = 0; i < message.resourceValueConfigsMetadata.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.ResourceValueConfigMetadata.verify(message.resourceValueConfigsMetadata[i]); + var error = $root.google.cloud.securitycenter.v2.ResourceValueConfigMetadata.verify(message.resourceValueConfigsMetadata[i], long + 1); if (error) return "resourceValueConfigsMetadata." + error; } @@ -137343,16 +142812,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Simulation} Simulation */ - Simulation.fromObject = function fromObject(object) { + Simulation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Simulation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Simulation(); if (object.name != null) message.name = String(object.name); if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.securitycenter.v2.Simulation.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.resourceValueConfigsMetadata) { if (!Array.isArray(object.resourceValueConfigsMetadata)) @@ -137361,7 +142834,7 @@ for (var i = 0; i < object.resourceValueConfigsMetadata.length; ++i) { if (typeof object.resourceValueConfigsMetadata[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.Simulation.resourceValueConfigsMetadata: object expected"); - message.resourceValueConfigsMetadata[i] = $root.google.cloud.securitycenter.v2.ResourceValueConfigMetadata.fromObject(object.resourceValueConfigsMetadata[i]); + message.resourceValueConfigsMetadata[i] = $root.google.cloud.securitycenter.v2.ResourceValueConfigMetadata.fromObject(object.resourceValueConfigsMetadata[i], long + 1); } } switch (object.cloudProvider) { @@ -137481,7 +142954,7 @@ this.resourceValueConfigsUsed = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -137607,9 +143080,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValuedResource.decode = function decode(reader, length, error) { + ValuedResource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ValuedResource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -137643,11 +143120,11 @@ case 7: { if (!(message.resourceValueConfigsUsed && message.resourceValueConfigsUsed.length)) message.resourceValueConfigsUsed = []; - message.resourceValueConfigsUsed.push($root.google.cloud.securitycenter.v2.ResourceValueConfigMetadata.decode(reader, reader.uint32())); + message.resourceValueConfigsUsed.push($root.google.cloud.securitycenter.v2.ResourceValueConfigMetadata.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -137678,9 +143155,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ValuedResource.verify = function verify(message) { + ValuedResource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -137710,7 +143191,7 @@ if (!Array.isArray(message.resourceValueConfigsUsed)) return "resourceValueConfigsUsed: array expected"; for (var i = 0; i < message.resourceValueConfigsUsed.length; ++i) { - var error = $root.google.cloud.securitycenter.v2.ResourceValueConfigMetadata.verify(message.resourceValueConfigsUsed[i]); + var error = $root.google.cloud.securitycenter.v2.ResourceValueConfigMetadata.verify(message.resourceValueConfigsUsed[i], long + 1); if (error) return "resourceValueConfigsUsed." + error; } @@ -137726,9 +143207,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ValuedResource} ValuedResource */ - ValuedResource.fromObject = function fromObject(object) { + ValuedResource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ValuedResource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ValuedResource(); if (object.name != null) message.name = String(object.name); @@ -137771,7 +143256,7 @@ for (var i = 0; i < object.resourceValueConfigsUsed.length; ++i) { if (typeof object.resourceValueConfigsUsed[i] !== "object") throw TypeError(".google.cloud.securitycenter.v2.ValuedResource.resourceValueConfigsUsed: object expected"); - message.resourceValueConfigsUsed[i] = $root.google.cloud.securitycenter.v2.ResourceValueConfigMetadata.fromObject(object.resourceValueConfigsUsed[i]); + message.resourceValueConfigsUsed[i] = $root.google.cloud.securitycenter.v2.ResourceValueConfigMetadata.fromObject(object.resourceValueConfigsUsed[i], long + 1); } } return message; @@ -137887,7 +143372,7 @@ function ResourceValueConfigMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -137952,9 +143437,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceValueConfigMetadata.decode = function decode(reader, length, error) { + ResourceValueConfigMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.ResourceValueConfigMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -137966,7 +143455,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -137997,9 +143486,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceValueConfigMetadata.verify = function verify(message) { + ResourceValueConfigMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -138014,9 +143507,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.ResourceValueConfigMetadata} ResourceValueConfigMetadata */ - ResourceValueConfigMetadata.fromObject = function fromObject(object) { + ResourceValueConfigMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.ResourceValueConfigMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.ResourceValueConfigMetadata(); if (object.name != null) message.name = String(object.name); @@ -138095,7 +143592,7 @@ function Source(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -138190,9 +143687,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Source.decode = function decode(reader, length, error) { + Source.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycenter.v2.Source(); while (reader.pos < end) { var tag = reader.uint32(); @@ -138216,7 +143717,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -138247,9 +143748,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Source.verify = function verify(message) { + Source.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -138273,9 +143778,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycenter.v2.Source} Source */ - Source.fromObject = function fromObject(object) { + Source.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycenter.v2.Source) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycenter.v2.Source(); if (object.name != null) message.name = String(object.name); @@ -138393,7 +143902,7 @@ this.style = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -138523,9 +144032,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceDescriptor.decode = function decode(reader, length, error) { + ResourceDescriptor.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceDescriptor(); while (reader.pos < end) { var tag = reader.uint32(); @@ -138570,7 +144083,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -138601,9 +144114,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceDescriptor.verify = function verify(message) { + ResourceDescriptor.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -138655,9 +144172,13 @@ * @param {Object.} object Plain object * @returns {google.api.ResourceDescriptor} ResourceDescriptor */ - ResourceDescriptor.fromObject = function fromObject(object) { + ResourceDescriptor.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ResourceDescriptor) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ResourceDescriptor(); if (object.type != null) message.type = String(object.type); @@ -138845,7 +144366,7 @@ function ResourceReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -138920,9 +144441,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceReference.decode = function decode(reader, length, error) { + ResourceReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -138938,7 +144463,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -138969,9 +144494,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceReference.verify = function verify(message) { + ResourceReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -138989,9 +144518,13 @@ * @param {Object.} object Plain object * @returns {google.api.ResourceReference} ResourceReference */ - ResourceReference.fromObject = function fromObject(object) { + ResourceReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ResourceReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ResourceReference(); if (object.type != null) message.type = String(object.type); @@ -139103,7 +144636,7 @@ this.referencedTypes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -139179,9 +144712,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldInfo.decode = function decode(reader, length, error) { + FieldInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.FieldInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -139195,11 +144732,11 @@ case 2: { if (!(message.referencedTypes && message.referencedTypes.length)) message.referencedTypes = []; - message.referencedTypes.push($root.google.api.TypeReference.decode(reader, reader.uint32())); + message.referencedTypes.push($root.google.api.TypeReference.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -139230,9 +144767,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldInfo.verify = function verify(message) { + FieldInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.format != null && message.hasOwnProperty("format")) switch (message.format) { default: @@ -139248,7 +144789,7 @@ if (!Array.isArray(message.referencedTypes)) return "referencedTypes: array expected"; for (var i = 0; i < message.referencedTypes.length; ++i) { - var error = $root.google.api.TypeReference.verify(message.referencedTypes[i]); + var error = $root.google.api.TypeReference.verify(message.referencedTypes[i], long + 1); if (error) return "referencedTypes." + error; } @@ -139264,9 +144805,13 @@ * @param {Object.} object Plain object * @returns {google.api.FieldInfo} FieldInfo */ - FieldInfo.fromObject = function fromObject(object) { + FieldInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.FieldInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.FieldInfo(); switch (object.format) { default: @@ -139303,7 +144848,7 @@ for (var i = 0; i < object.referencedTypes.length; ++i) { if (typeof object.referencedTypes[i] !== "object") throw TypeError(".google.api.FieldInfo.referencedTypes: object expected"); - message.referencedTypes[i] = $root.google.api.TypeReference.fromObject(object.referencedTypes[i]); + message.referencedTypes[i] = $root.google.api.TypeReference.fromObject(object.referencedTypes[i], long + 1); } } return message; @@ -139405,7 +144950,7 @@ function TypeReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -139470,9 +145015,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TypeReference.decode = function decode(reader, length, error) { + TypeReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.TypeReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -139484,7 +145033,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -139515,9 +145064,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TypeReference.verify = function verify(message) { + TypeReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.typeName != null && message.hasOwnProperty("typeName")) if (!$util.isString(message.typeName)) return "typeName: string expected"; @@ -139532,9 +145085,13 @@ * @param {Object.} object Plain object * @returns {google.api.TypeReference} TypeReference */ - TypeReference.fromObject = function fromObject(object) { + TypeReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.TypeReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.TypeReference(); if (object.typeName != null) message.typeName = String(object.typeName); @@ -139612,7 +145169,7 @@ this.rules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -139688,9 +145245,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Http.decode = function decode(reader, length, error) { + Http.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http(); while (reader.pos < end) { var tag = reader.uint32(); @@ -139700,7 +145261,7 @@ case 1: { if (!(message.rules && message.rules.length)) message.rules = []; - message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -139708,7 +145269,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -139739,14 +145300,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Http.verify = function verify(message) { + Http.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.rules != null && message.hasOwnProperty("rules")) { if (!Array.isArray(message.rules)) return "rules: array expected"; for (var i = 0; i < message.rules.length; ++i) { - var error = $root.google.api.HttpRule.verify(message.rules[i]); + var error = $root.google.api.HttpRule.verify(message.rules[i], long + 1); if (error) return "rules." + error; } @@ -139765,9 +145330,13 @@ * @param {Object.} object Plain object * @returns {google.api.Http} Http */ - Http.fromObject = function fromObject(object) { + Http.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.Http) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.Http(); if (object.rules) { if (!Array.isArray(object.rules)) @@ -139776,7 +145345,7 @@ for (var i = 0; i < object.rules.length; ++i) { if (typeof object.rules[i] !== "object") throw TypeError(".google.api.Http.rules: object expected"); - message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i]); + message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i], long + 1); } } if (object.fullyDecodeReservedExpansion != null) @@ -139870,7 +145439,7 @@ this.additionalBindings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -140040,9 +145609,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HttpRule.decode = function decode(reader, length, error) { + HttpRule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -140074,7 +145647,7 @@ break; } case 8: { - message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32()); + message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -140088,11 +145661,11 @@ case 11: { if (!(message.additionalBindings && message.additionalBindings.length)) message.additionalBindings = []; - message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -140123,9 +145696,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - HttpRule.verify = function verify(message) { + HttpRule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.selector != null && message.hasOwnProperty("selector")) if (!$util.isString(message.selector)) @@ -140168,7 +145745,7 @@ return "pattern: multiple values"; properties.pattern = 1; { - var error = $root.google.api.CustomHttpPattern.verify(message.custom); + var error = $root.google.api.CustomHttpPattern.verify(message.custom, long + 1); if (error) return "custom." + error; } @@ -140183,7 +145760,7 @@ if (!Array.isArray(message.additionalBindings)) return "additionalBindings: array expected"; for (var i = 0; i < message.additionalBindings.length; ++i) { - var error = $root.google.api.HttpRule.verify(message.additionalBindings[i]); + var error = $root.google.api.HttpRule.verify(message.additionalBindings[i], long + 1); if (error) return "additionalBindings." + error; } @@ -140199,9 +145776,13 @@ * @param {Object.} object Plain object * @returns {google.api.HttpRule} HttpRule */ - HttpRule.fromObject = function fromObject(object) { + HttpRule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.HttpRule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.HttpRule(); if (object.selector != null) message.selector = String(object.selector); @@ -140218,7 +145799,7 @@ if (object.custom != null) { if (typeof object.custom !== "object") throw TypeError(".google.api.HttpRule.custom: object expected"); - message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom); + message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom, long + 1); } if (object.body != null) message.body = String(object.body); @@ -140231,7 +145812,7 @@ for (var i = 0; i < object.additionalBindings.length; ++i) { if (typeof object.additionalBindings[i] !== "object") throw TypeError(".google.api.HttpRule.additionalBindings: object expected"); - message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i]); + message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i], long + 1); } } return message; @@ -140351,7 +145932,7 @@ function CustomHttpPattern(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -140426,9 +146007,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomHttpPattern.decode = function decode(reader, length, error) { + CustomHttpPattern.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern(); while (reader.pos < end) { var tag = reader.uint32(); @@ -140444,7 +146029,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -140475,9 +146060,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CustomHttpPattern.verify = function verify(message) { + CustomHttpPattern.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.kind != null && message.hasOwnProperty("kind")) if (!$util.isString(message.kind)) return "kind: string expected"; @@ -140495,9 +146084,13 @@ * @param {Object.} object Plain object * @returns {google.api.CustomHttpPattern} CustomHttpPattern */ - CustomHttpPattern.fromObject = function fromObject(object) { + CustomHttpPattern.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CustomHttpPattern) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CustomHttpPattern(); if (object.kind != null) message.kind = String(object.kind); @@ -140582,7 +146175,7 @@ this.destinations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -140671,9 +146264,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CommonLanguageSettings.decode = function decode(reader, length, error) { + CommonLanguageSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CommonLanguageSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -140696,11 +146293,11 @@ break; } case 3: { - message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.decode(reader, reader.uint32()); + message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -140731,9 +146328,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CommonLanguageSettings.verify = function verify(message) { + CommonLanguageSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri")) if (!$util.isString(message.referenceDocsUri)) return "referenceDocsUri: string expected"; @@ -140751,7 +146352,7 @@ } } if (message.selectiveGapicGeneration != null && message.hasOwnProperty("selectiveGapicGeneration")) { - var error = $root.google.api.SelectiveGapicGeneration.verify(message.selectiveGapicGeneration); + var error = $root.google.api.SelectiveGapicGeneration.verify(message.selectiveGapicGeneration, long + 1); if (error) return "selectiveGapicGeneration." + error; } @@ -140766,9 +146367,13 @@ * @param {Object.} object Plain object * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings */ - CommonLanguageSettings.fromObject = function fromObject(object) { + CommonLanguageSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CommonLanguageSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CommonLanguageSettings(); if (object.referenceDocsUri != null) message.referenceDocsUri = String(object.referenceDocsUri); @@ -140800,7 +146405,7 @@ if (object.selectiveGapicGeneration != null) { if (typeof object.selectiveGapicGeneration !== "object") throw TypeError(".google.api.CommonLanguageSettings.selectiveGapicGeneration: object expected"); - message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.fromObject(object.selectiveGapicGeneration); + message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.fromObject(object.selectiveGapicGeneration, long + 1); } return message; }; @@ -140895,7 +146500,7 @@ function ClientLibrarySettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -141060,9 +146665,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClientLibrarySettings.decode = function decode(reader, length, error) { + ClientLibrarySettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ClientLibrarySettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -141082,39 +146691,39 @@ break; } case 21: { - message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32()); + message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 22: { - message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32()); + message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 23: { - message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32()); + message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 24: { - message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32()); + message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 25: { - message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32()); + message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 26: { - message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32()); + message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 27: { - message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32()); + message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 28: { - message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32()); + message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -141145,9 +146754,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ClientLibrarySettings.verify = function verify(message) { + ClientLibrarySettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isString(message.version)) return "version: string expected"; @@ -141169,42 +146782,42 @@ if (typeof message.restNumericEnums !== "boolean") return "restNumericEnums: boolean expected"; if (message.javaSettings != null && message.hasOwnProperty("javaSettings")) { - var error = $root.google.api.JavaSettings.verify(message.javaSettings); + var error = $root.google.api.JavaSettings.verify(message.javaSettings, long + 1); if (error) return "javaSettings." + error; } if (message.cppSettings != null && message.hasOwnProperty("cppSettings")) { - var error = $root.google.api.CppSettings.verify(message.cppSettings); + var error = $root.google.api.CppSettings.verify(message.cppSettings, long + 1); if (error) return "cppSettings." + error; } if (message.phpSettings != null && message.hasOwnProperty("phpSettings")) { - var error = $root.google.api.PhpSettings.verify(message.phpSettings); + var error = $root.google.api.PhpSettings.verify(message.phpSettings, long + 1); if (error) return "phpSettings." + error; } if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings")) { - var error = $root.google.api.PythonSettings.verify(message.pythonSettings); + var error = $root.google.api.PythonSettings.verify(message.pythonSettings, long + 1); if (error) return "pythonSettings." + error; } if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings")) { - var error = $root.google.api.NodeSettings.verify(message.nodeSettings); + var error = $root.google.api.NodeSettings.verify(message.nodeSettings, long + 1); if (error) return "nodeSettings." + error; } if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings")) { - var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings); + var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings, long + 1); if (error) return "dotnetSettings." + error; } if (message.rubySettings != null && message.hasOwnProperty("rubySettings")) { - var error = $root.google.api.RubySettings.verify(message.rubySettings); + var error = $root.google.api.RubySettings.verify(message.rubySettings, long + 1); if (error) return "rubySettings." + error; } if (message.goSettings != null && message.hasOwnProperty("goSettings")) { - var error = $root.google.api.GoSettings.verify(message.goSettings); + var error = $root.google.api.GoSettings.verify(message.goSettings, long + 1); if (error) return "goSettings." + error; } @@ -141219,9 +146832,13 @@ * @param {Object.} object Plain object * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings */ - ClientLibrarySettings.fromObject = function fromObject(object) { + ClientLibrarySettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ClientLibrarySettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ClientLibrarySettings(); if (object.version != null) message.version = String(object.version); @@ -141270,42 +146887,42 @@ if (object.javaSettings != null) { if (typeof object.javaSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.javaSettings: object expected"); - message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings); + message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings, long + 1); } if (object.cppSettings != null) { if (typeof object.cppSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.cppSettings: object expected"); - message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings); + message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings, long + 1); } if (object.phpSettings != null) { if (typeof object.phpSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.phpSettings: object expected"); - message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings); + message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings, long + 1); } if (object.pythonSettings != null) { if (typeof object.pythonSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.pythonSettings: object expected"); - message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings); + message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings, long + 1); } if (object.nodeSettings != null) { if (typeof object.nodeSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.nodeSettings: object expected"); - message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings); + message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings, long + 1); } if (object.dotnetSettings != null) { if (typeof object.dotnetSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.dotnetSettings: object expected"); - message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings); + message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings, long + 1); } if (object.rubySettings != null) { if (typeof object.rubySettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.rubySettings: object expected"); - message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings); + message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings, long + 1); } if (object.goSettings != null) { if (typeof object.goSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.goSettings: object expected"); - message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings); + message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings, long + 1); } return message; }; @@ -141423,7 +147040,7 @@ this.librarySettings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -141591,9 +147208,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Publishing.decode = function decode(reader, length, error) { + Publishing.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Publishing(); while (reader.pos < end) { var tag = reader.uint32(); @@ -141603,7 +147224,7 @@ case 2: { if (!(message.methodSettings && message.methodSettings.length)) message.methodSettings = []; - message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32())); + message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 101: { @@ -141639,7 +147260,7 @@ case 109: { if (!(message.librarySettings && message.librarySettings.length)) message.librarySettings = []; - message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32())); + message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 110: { @@ -141651,7 +147272,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -141682,14 +147303,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Publishing.verify = function verify(message) { + Publishing.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.methodSettings != null && message.hasOwnProperty("methodSettings")) { if (!Array.isArray(message.methodSettings)) return "methodSettings: array expected"; for (var i = 0; i < message.methodSettings.length; ++i) { - var error = $root.google.api.MethodSettings.verify(message.methodSettings[i]); + var error = $root.google.api.MethodSettings.verify(message.methodSettings[i], long + 1); if (error) return "methodSettings." + error; } @@ -141734,7 +147359,7 @@ if (!Array.isArray(message.librarySettings)) return "librarySettings: array expected"; for (var i = 0; i < message.librarySettings.length; ++i) { - var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i]); + var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i], long + 1); if (error) return "librarySettings." + error; } @@ -141756,9 +147381,13 @@ * @param {Object.} object Plain object * @returns {google.api.Publishing} Publishing */ - Publishing.fromObject = function fromObject(object) { + Publishing.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.Publishing) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.Publishing(); if (object.methodSettings) { if (!Array.isArray(object.methodSettings)) @@ -141767,7 +147396,7 @@ for (var i = 0; i < object.methodSettings.length; ++i) { if (typeof object.methodSettings[i] !== "object") throw TypeError(".google.api.Publishing.methodSettings: object expected"); - message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i]); + message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i], long + 1); } } if (object.newIssueUri != null) @@ -141834,7 +147463,7 @@ for (var i = 0; i < object.librarySettings.length; ++i) { if (typeof object.librarySettings[i] !== "object") throw TypeError(".google.api.Publishing.librarySettings: object expected"); - message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i]); + message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i], long + 1); } } if (object.protoReferenceDocumentationUri != null) @@ -141958,7 +147587,7 @@ this.serviceClassNames = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -142044,9 +147673,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - JavaSettings.decode = function decode(reader, length, error) { + JavaSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.JavaSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -142073,19 +147706,21 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.serviceClassNames, key); message.serviceClassNames[key] = value; break; } case 3: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -142116,9 +147751,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - JavaSettings.verify = function verify(message) { + JavaSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.libraryPackage != null && message.hasOwnProperty("libraryPackage")) if (!$util.isString(message.libraryPackage)) return "libraryPackage: string expected"; @@ -142131,7 +147770,7 @@ return "serviceClassNames: string{k:string} expected"; } if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -142146,9 +147785,13 @@ * @param {Object.} object Plain object * @returns {google.api.JavaSettings} JavaSettings */ - JavaSettings.fromObject = function fromObject(object) { + JavaSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.JavaSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.JavaSettings(); if (object.libraryPackage != null) message.libraryPackage = String(object.libraryPackage); @@ -142156,13 +147799,16 @@ if (typeof object.serviceClassNames !== "object") throw TypeError(".google.api.JavaSettings.serviceClassNames: object expected"); message.serviceClassNames = {}; - for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.serviceClassNames, keys[i]); message.serviceClassNames[keys[i]] = String(object.serviceClassNames[keys[i]]); + } } if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.JavaSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -142191,8 +147837,11 @@ var keys2; if (message.serviceClassNames && (keys2 = Object.keys(message.serviceClassNames)).length) { object.serviceClassNames = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.serviceClassNames, keys2[j]); object.serviceClassNames[keys2[j]] = message.serviceClassNames[keys2[j]]; + } } if (message.common != null && message.hasOwnProperty("common")) object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); @@ -142248,7 +147897,7 @@ function CppSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -142313,9 +147962,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CppSettings.decode = function decode(reader, length, error) { + CppSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CppSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -142323,11 +147976,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -142358,11 +148011,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CppSettings.verify = function verify(message) { + CppSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -142377,14 +148034,18 @@ * @param {Object.} object Plain object * @returns {google.api.CppSettings} CppSettings */ - CppSettings.fromObject = function fromObject(object) { + CppSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CppSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CppSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.CppSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -142458,7 +148119,7 @@ function PhpSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -142523,9 +148184,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PhpSettings.decode = function decode(reader, length, error) { + PhpSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PhpSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -142533,11 +148198,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -142568,11 +148233,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PhpSettings.verify = function verify(message) { + PhpSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -142587,14 +148256,18 @@ * @param {Object.} object Plain object * @returns {google.api.PhpSettings} PhpSettings */ - PhpSettings.fromObject = function fromObject(object) { + PhpSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PhpSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PhpSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.PhpSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -142669,7 +148342,7 @@ function PythonSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -142744,9 +148417,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PythonSettings.decode = function decode(reader, length, error) { + PythonSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -142754,15 +148431,15 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.decode(reader, reader.uint32()); + message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -142793,16 +148470,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PythonSettings.verify = function verify(message) { + PythonSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } if (message.experimentalFeatures != null && message.hasOwnProperty("experimentalFeatures")) { - var error = $root.google.api.PythonSettings.ExperimentalFeatures.verify(message.experimentalFeatures); + var error = $root.google.api.PythonSettings.ExperimentalFeatures.verify(message.experimentalFeatures, long + 1); if (error) return "experimentalFeatures." + error; } @@ -142817,19 +148498,23 @@ * @param {Object.} object Plain object * @returns {google.api.PythonSettings} PythonSettings */ - PythonSettings.fromObject = function fromObject(object) { + PythonSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PythonSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PythonSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.PythonSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } if (object.experimentalFeatures != null) { if (typeof object.experimentalFeatures !== "object") throw TypeError(".google.api.PythonSettings.experimentalFeatures: object expected"); - message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.fromObject(object.experimentalFeatures); + message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.fromObject(object.experimentalFeatures, long + 1); } return message; }; @@ -142906,7 +148591,7 @@ function ExperimentalFeatures(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -142991,9 +148676,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExperimentalFeatures.decode = function decode(reader, length, error) { + ExperimentalFeatures.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings.ExperimentalFeatures(); while (reader.pos < end) { var tag = reader.uint32(); @@ -143013,7 +148702,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -143044,9 +148733,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExperimentalFeatures.verify = function verify(message) { + ExperimentalFeatures.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.restAsyncIoEnabled != null && message.hasOwnProperty("restAsyncIoEnabled")) if (typeof message.restAsyncIoEnabled !== "boolean") return "restAsyncIoEnabled: boolean expected"; @@ -143067,9 +148760,13 @@ * @param {Object.} object Plain object * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures */ - ExperimentalFeatures.fromObject = function fromObject(object) { + ExperimentalFeatures.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PythonSettings.ExperimentalFeatures) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PythonSettings.ExperimentalFeatures(); if (object.restAsyncIoEnabled != null) message.restAsyncIoEnabled = Boolean(object.restAsyncIoEnabled); @@ -143159,7 +148856,7 @@ function NodeSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -143224,9 +148921,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NodeSettings.decode = function decode(reader, length, error) { + NodeSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.NodeSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -143234,11 +148935,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -143269,11 +148970,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NodeSettings.verify = function verify(message) { + NodeSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -143288,14 +148993,18 @@ * @param {Object.} object Plain object * @returns {google.api.NodeSettings} NodeSettings */ - NodeSettings.fromObject = function fromObject(object) { + NodeSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.NodeSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.NodeSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.NodeSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -143379,7 +149088,7 @@ this.handwrittenSignatures = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -143499,9 +149208,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DotnetSettings.decode = function decode(reader, length, error) { + DotnetSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -143509,7 +149222,7 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -143528,10 +149241,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedServices, key); message.renamedServices[key] = value; break; } @@ -143551,10 +149266,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedResources, key); message.renamedResources[key] = value; break; } @@ -143577,7 +149294,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -143608,11 +149325,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DotnetSettings.verify = function verify(message) { + DotnetSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -143664,28 +149385,38 @@ * @param {Object.} object Plain object * @returns {google.api.DotnetSettings} DotnetSettings */ - DotnetSettings.fromObject = function fromObject(object) { + DotnetSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.DotnetSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.DotnetSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.DotnetSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } if (object.renamedServices) { if (typeof object.renamedServices !== "object") throw TypeError(".google.api.DotnetSettings.renamedServices: object expected"); message.renamedServices = {}; - for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedServices, keys[i]); message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]); + } } if (object.renamedResources) { if (typeof object.renamedResources !== "object") throw TypeError(".google.api.DotnetSettings.renamedResources: object expected"); message.renamedResources = {}; - for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedResources, keys[i]); message.renamedResources[keys[i]] = String(object.renamedResources[keys[i]]); + } } if (object.ignoredResources) { if (!Array.isArray(object.ignoredResources)) @@ -143740,13 +149471,19 @@ var keys2; if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) { object.renamedServices = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedServices, keys2[j]); object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]]; + } } if (message.renamedResources && (keys2 = Object.keys(message.renamedResources)).length) { object.renamedResources = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedResources, keys2[j]); object.renamedResources[keys2[j]] = message.renamedResources[keys2[j]]; + } } if (message.ignoredResources && message.ignoredResources.length) { object.ignoredResources = []; @@ -143815,7 +149552,7 @@ function RubySettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -143880,9 +149617,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RubySettings.decode = function decode(reader, length, error) { + RubySettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.RubySettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -143890,11 +149631,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -143925,11 +149666,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RubySettings.verify = function verify(message) { + RubySettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -143944,14 +149689,18 @@ * @param {Object.} object Plain object * @returns {google.api.RubySettings} RubySettings */ - RubySettings.fromObject = function fromObject(object) { + RubySettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.RubySettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.RubySettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.RubySettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -144027,7 +149776,7 @@ this.renamedServices = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -144103,9 +149852,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoSettings.decode = function decode(reader, length, error) { + GoSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -144113,7 +149866,7 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -144132,15 +149885,17 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedServices, key); message.renamedServices[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -144171,11 +149926,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GoSettings.verify = function verify(message) { + GoSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -144198,21 +149957,28 @@ * @param {Object.} object Plain object * @returns {google.api.GoSettings} GoSettings */ - GoSettings.fromObject = function fromObject(object) { + GoSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.GoSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.GoSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.GoSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } if (object.renamedServices) { if (typeof object.renamedServices !== "object") throw TypeError(".google.api.GoSettings.renamedServices: object expected"); message.renamedServices = {}; - for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedServices, keys[i]); message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]); + } } return message; }; @@ -144239,8 +150005,11 @@ var keys2; if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) { object.renamedServices = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedServices, keys2[j]); object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]]; + } } return object; }; @@ -144297,7 +150066,7 @@ this.autoPopulatedFields = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -144383,9 +150152,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodSettings.decode = function decode(reader, length, error) { + MethodSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -144397,7 +150170,7 @@ break; } case 2: { - message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32()); + message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -144407,7 +150180,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -144438,14 +150211,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodSettings.verify = function verify(message) { + MethodSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.selector != null && message.hasOwnProperty("selector")) if (!$util.isString(message.selector)) return "selector: string expected"; if (message.longRunning != null && message.hasOwnProperty("longRunning")) { - var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning); + var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning, long + 1); if (error) return "longRunning." + error; } @@ -144467,16 +150244,20 @@ * @param {Object.} object Plain object * @returns {google.api.MethodSettings} MethodSettings */ - MethodSettings.fromObject = function fromObject(object) { + MethodSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.MethodSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.MethodSettings(); if (object.selector != null) message.selector = String(object.selector); if (object.longRunning != null) { if (typeof object.longRunning !== "object") throw TypeError(".google.api.MethodSettings.longRunning: object expected"); - message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning); + message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning, long + 1); } if (object.autoPopulatedFields) { if (!Array.isArray(object.autoPopulatedFields)) @@ -144568,7 +150349,7 @@ function LongRunning(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -144663,9 +150444,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LongRunning.decode = function decode(reader, length, error) { + LongRunning.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings.LongRunning(); while (reader.pos < end) { var tag = reader.uint32(); @@ -144673,7 +150458,7 @@ break; switch (tag >>> 3) { case 1: { - message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -144681,15 +150466,15 @@ break; } case 3: { - message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -144720,11 +150505,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LongRunning.verify = function verify(message) { + LongRunning.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.initialPollDelay != null && message.hasOwnProperty("initialPollDelay")) { - var error = $root.google.protobuf.Duration.verify(message.initialPollDelay); + var error = $root.google.protobuf.Duration.verify(message.initialPollDelay, long + 1); if (error) return "initialPollDelay." + error; } @@ -144732,12 +150521,12 @@ if (typeof message.pollDelayMultiplier !== "number") return "pollDelayMultiplier: number expected"; if (message.maxPollDelay != null && message.hasOwnProperty("maxPollDelay")) { - var error = $root.google.protobuf.Duration.verify(message.maxPollDelay); + var error = $root.google.protobuf.Duration.verify(message.maxPollDelay, long + 1); if (error) return "maxPollDelay." + error; } if (message.totalPollTimeout != null && message.hasOwnProperty("totalPollTimeout")) { - var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout); + var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout, long + 1); if (error) return "totalPollTimeout." + error; } @@ -144752,26 +150541,30 @@ * @param {Object.} object Plain object * @returns {google.api.MethodSettings.LongRunning} LongRunning */ - LongRunning.fromObject = function fromObject(object) { + LongRunning.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.MethodSettings.LongRunning) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.MethodSettings.LongRunning(); if (object.initialPollDelay != null) { if (typeof object.initialPollDelay !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.initialPollDelay: object expected"); - message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay); + message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay, long + 1); } if (object.pollDelayMultiplier != null) message.pollDelayMultiplier = Number(object.pollDelayMultiplier); if (object.maxPollDelay != null) { if (typeof object.maxPollDelay !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.maxPollDelay: object expected"); - message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay); + message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay, long + 1); } if (object.totalPollTimeout != null) { if (typeof object.totalPollTimeout !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.totalPollTimeout: object expected"); - message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout); + message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout, long + 1); } return message; }; @@ -144902,7 +150695,7 @@ this.methods = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -144978,9 +150771,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SelectiveGapicGeneration.decode = function decode(reader, length, error) { + SelectiveGapicGeneration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.SelectiveGapicGeneration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -144998,7 +150795,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -145029,9 +150826,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SelectiveGapicGeneration.verify = function verify(message) { + SelectiveGapicGeneration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.methods != null && message.hasOwnProperty("methods")) { if (!Array.isArray(message.methods)) return "methods: array expected"; @@ -145053,9 +150854,13 @@ * @param {Object.} object Plain object * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration */ - SelectiveGapicGeneration.fromObject = function fromObject(object) { + SelectiveGapicGeneration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.SelectiveGapicGeneration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.SelectiveGapicGeneration(); if (object.methods) { if (!Array.isArray(object.methods)) @@ -145172,7 +150977,7 @@ this.routingParameters = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -145238,9 +151043,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RoutingRule.decode = function decode(reader, length, error) { + RoutingRule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.RoutingRule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -145250,11 +151059,11 @@ case 2: { if (!(message.routingParameters && message.routingParameters.length)) message.routingParameters = []; - message.routingParameters.push($root.google.api.RoutingParameter.decode(reader, reader.uint32())); + message.routingParameters.push($root.google.api.RoutingParameter.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -145285,14 +151094,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RoutingRule.verify = function verify(message) { + RoutingRule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.routingParameters != null && message.hasOwnProperty("routingParameters")) { if (!Array.isArray(message.routingParameters)) return "routingParameters: array expected"; for (var i = 0; i < message.routingParameters.length; ++i) { - var error = $root.google.api.RoutingParameter.verify(message.routingParameters[i]); + var error = $root.google.api.RoutingParameter.verify(message.routingParameters[i], long + 1); if (error) return "routingParameters." + error; } @@ -145308,9 +151121,13 @@ * @param {Object.} object Plain object * @returns {google.api.RoutingRule} RoutingRule */ - RoutingRule.fromObject = function fromObject(object) { + RoutingRule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.RoutingRule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.RoutingRule(); if (object.routingParameters) { if (!Array.isArray(object.routingParameters)) @@ -145319,7 +151136,7 @@ for (var i = 0; i < object.routingParameters.length; ++i) { if (typeof object.routingParameters[i] !== "object") throw TypeError(".google.api.RoutingRule.routingParameters: object expected"); - message.routingParameters[i] = $root.google.api.RoutingParameter.fromObject(object.routingParameters[i]); + message.routingParameters[i] = $root.google.api.RoutingParameter.fromObject(object.routingParameters[i], long + 1); } } return message; @@ -145398,7 +151215,7 @@ function RoutingParameter(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -145473,9 +151290,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RoutingParameter.decode = function decode(reader, length, error) { + RoutingParameter.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.RoutingParameter(); while (reader.pos < end) { var tag = reader.uint32(); @@ -145491,7 +151312,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -145522,9 +151343,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RoutingParameter.verify = function verify(message) { + RoutingParameter.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.field != null && message.hasOwnProperty("field")) if (!$util.isString(message.field)) return "field: string expected"; @@ -145542,9 +151367,13 @@ * @param {Object.} object Plain object * @returns {google.api.RoutingParameter} RoutingParameter */ - RoutingParameter.fromObject = function fromObject(object) { + RoutingParameter.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.RoutingParameter) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.RoutingParameter(); if (object.field != null) message.field = String(object.field); @@ -145639,7 +151468,7 @@ this.file = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -145705,9 +151534,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorSet.decode = function decode(reader, length, error) { + FileDescriptorSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -145717,11 +151550,11 @@ case 1: { if (!(message.file && message.file.length)) message.file = []; - message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); + message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -145752,14 +151585,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileDescriptorSet.verify = function verify(message) { + FileDescriptorSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.file != null && message.hasOwnProperty("file")) { if (!Array.isArray(message.file)) return "file: array expected"; for (var i = 0; i < message.file.length; ++i) { - var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]); + var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i], long + 1); if (error) return "file." + error; } @@ -145775,9 +151612,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet */ - FileDescriptorSet.fromObject = function fromObject(object) { + FileDescriptorSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileDescriptorSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileDescriptorSet(); if (object.file) { if (!Array.isArray(object.file)) @@ -145786,7 +151627,7 @@ for (var i = 0; i < object.file.length; ++i) { if (typeof object.file[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected"); - message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]); + message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i], long + 1); } } return message; @@ -145919,7 +151760,7 @@ this.extension = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -146122,9 +151963,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorProto.decode = function decode(reader, length, error) { + FileDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -146176,33 +152021,33 @@ case 4: { if (!(message.messageType && message.messageType.length)) message.messageType = []; - message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.enumType && message.enumType.length)) message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.service && message.service.length)) message.service = []; - message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); + message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { if (!(message.extension && message.extension.length)) message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { - message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } case 12: { @@ -146214,7 +152059,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -146245,9 +152090,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileDescriptorProto.verify = function verify(message) { + FileDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -146286,7 +152135,7 @@ if (!Array.isArray(message.messageType)) return "messageType: array expected"; for (var i = 0; i < message.messageType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]); + var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i], long + 1); if (error) return "messageType." + error; } @@ -146295,7 +152144,7 @@ if (!Array.isArray(message.enumType)) return "enumType: array expected"; for (var i = 0; i < message.enumType.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i], long + 1); if (error) return "enumType." + error; } @@ -146304,7 +152153,7 @@ if (!Array.isArray(message.service)) return "service: array expected"; for (var i = 0; i < message.service.length; ++i) { - var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]); + var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i], long + 1); if (error) return "service." + error; } @@ -146313,18 +152162,18 @@ if (!Array.isArray(message.extension)) return "extension: array expected"; for (var i = 0; i < message.extension.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i], long + 1); if (error) return "extension." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FileOptions.verify(message.options); + var error = $root.google.protobuf.FileOptions.verify(message.options, long + 1); if (error) return "options." + error; } if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) { - var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo); + var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo, long + 1); if (error) return "sourceCodeInfo." + error; } @@ -146360,9 +152209,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto */ - FileDescriptorProto.fromObject = function fromObject(object) { + FileDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -146403,7 +152256,7 @@ for (var i = 0; i < object.messageType.length; ++i) { if (typeof object.messageType[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected"); - message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]); + message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i], long + 1); } } if (object.enumType) { @@ -146413,7 +152266,7 @@ for (var i = 0; i < object.enumType.length; ++i) { if (typeof object.enumType[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected"); - message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i], long + 1); } } if (object.service) { @@ -146423,7 +152276,7 @@ for (var i = 0; i < object.service.length; ++i) { if (typeof object.service[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected"); - message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]); + message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i], long + 1); } } if (object.extension) { @@ -146433,18 +152286,18 @@ for (var i = 0; i < object.extension.length; ++i) { if (typeof object.extension[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected"); - message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.FileOptions.fromObject(object.options); + message.options = $root.google.protobuf.FileOptions.fromObject(object.options, long + 1); } if (object.sourceCodeInfo != null) { if (typeof object.sourceCodeInfo !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected"); - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo, long + 1); } if (object.syntax != null) message.syntax = String(object.syntax); @@ -146660,7 +152513,7 @@ this.reservedName = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -146833,9 +152686,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DescriptorProto.decode = function decode(reader, length, error) { + DescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -146849,47 +152706,47 @@ case 2: { if (!(message.field && message.field.length)) message.field = []; - message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.extension && message.extension.length)) message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { if (!(message.nestedType && message.nestedType.length)) message.nestedType = []; - message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { if (!(message.enumType && message.enumType.length)) message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.extensionRange && message.extensionRange.length)) message.extensionRange = []; - message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); + message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { if (!(message.oneofDecl && message.oneofDecl.length)) message.oneofDecl = []; - message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); + message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { - message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { if (!(message.reservedRange && message.reservedRange.length)) message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); + message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 10: { @@ -146903,7 +152760,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -146934,9 +152791,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DescriptorProto.verify = function verify(message) { + DescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -146944,7 +152805,7 @@ if (!Array.isArray(message.field)) return "field: array expected"; for (var i = 0; i < message.field.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i], long + 1); if (error) return "field." + error; } @@ -146953,7 +152814,7 @@ if (!Array.isArray(message.extension)) return "extension: array expected"; for (var i = 0; i < message.extension.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i], long + 1); if (error) return "extension." + error; } @@ -146962,7 +152823,7 @@ if (!Array.isArray(message.nestedType)) return "nestedType: array expected"; for (var i = 0; i < message.nestedType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]); + var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i], long + 1); if (error) return "nestedType." + error; } @@ -146971,7 +152832,7 @@ if (!Array.isArray(message.enumType)) return "enumType: array expected"; for (var i = 0; i < message.enumType.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i], long + 1); if (error) return "enumType." + error; } @@ -146980,7 +152841,7 @@ if (!Array.isArray(message.extensionRange)) return "extensionRange: array expected"; for (var i = 0; i < message.extensionRange.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]); + var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i], long + 1); if (error) return "extensionRange." + error; } @@ -146989,13 +152850,13 @@ if (!Array.isArray(message.oneofDecl)) return "oneofDecl: array expected"; for (var i = 0; i < message.oneofDecl.length; ++i) { - var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]); + var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i], long + 1); if (error) return "oneofDecl." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MessageOptions.verify(message.options); + var error = $root.google.protobuf.MessageOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -147003,7 +152864,7 @@ if (!Array.isArray(message.reservedRange)) return "reservedRange: array expected"; for (var i = 0; i < message.reservedRange.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]); + var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i], long + 1); if (error) return "reservedRange." + error; } @@ -147035,9 +152896,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto} DescriptorProto */ - DescriptorProto.fromObject = function fromObject(object) { + DescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -147048,7 +152913,7 @@ for (var i = 0; i < object.field.length; ++i) { if (typeof object.field[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.field: object expected"); - message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]); + message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i], long + 1); } } if (object.extension) { @@ -147058,7 +152923,7 @@ for (var i = 0; i < object.extension.length; ++i) { if (typeof object.extension[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.extension: object expected"); - message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i], long + 1); } } if (object.nestedType) { @@ -147068,7 +152933,7 @@ for (var i = 0; i < object.nestedType.length; ++i) { if (typeof object.nestedType[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected"); - message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]); + message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i], long + 1); } } if (object.enumType) { @@ -147078,7 +152943,7 @@ for (var i = 0; i < object.enumType.length; ++i) { if (typeof object.enumType[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected"); - message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i], long + 1); } } if (object.extensionRange) { @@ -147088,7 +152953,7 @@ for (var i = 0; i < object.extensionRange.length; ++i) { if (typeof object.extensionRange[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected"); - message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]); + message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i], long + 1); } } if (object.oneofDecl) { @@ -147098,13 +152963,13 @@ for (var i = 0; i < object.oneofDecl.length; ++i) { if (typeof object.oneofDecl[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected"); - message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]); + message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.DescriptorProto.options: object expected"); - message.options = $root.google.protobuf.MessageOptions.fromObject(object.options); + message.options = $root.google.protobuf.MessageOptions.fromObject(object.options, long + 1); } if (object.reservedRange) { if (!Array.isArray(object.reservedRange)) @@ -147113,7 +152978,7 @@ for (var i = 0; i < object.reservedRange.length; ++i) { if (typeof object.reservedRange[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected"); - message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]); + message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i], long + 1); } } if (object.reservedName) { @@ -147271,7 +153136,7 @@ function ExtensionRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -147356,9 +153221,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRange.decode = function decode(reader, length, error) { + ExtensionRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -147374,11 +153243,11 @@ break; } case 3: { - message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -147409,9 +153278,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExtensionRange.verify = function verify(message) { + ExtensionRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -147419,7 +153292,7 @@ if (!$util.isInteger(message.end)) return "end: integer expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options); + var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -147434,9 +153307,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange */ - ExtensionRange.fromObject = function fromObject(object) { + ExtensionRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); if (object.start != null) message.start = object.start | 0; @@ -147445,7 +153322,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected"); - message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options); + message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options, long + 1); } return message; }; @@ -147527,7 +153404,7 @@ function ReservedRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -147602,9 +153479,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReservedRange.decode = function decode(reader, length, error) { + ReservedRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -147620,7 +153501,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -147651,9 +153532,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReservedRange.verify = function verify(message) { + ReservedRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -147671,9 +153556,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange */ - ReservedRange.fromObject = function fromObject(object) { + ReservedRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto.ReservedRange(); if (object.start != null) message.start = object.start | 0; @@ -147763,7 +153652,7 @@ this.declaration = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -147860,9 +153749,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRangeOptions.decode = function decode(reader, length, error) { + ExtensionRangeOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -147872,17 +153765,17 @@ case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.declaration && message.declaration.length)) message.declaration = []; - message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32())); + message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 50: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -147890,7 +153783,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -147921,14 +153814,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExtensionRangeOptions.verify = function verify(message) { + ExtensionRangeOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -147937,13 +153834,13 @@ if (!Array.isArray(message.declaration)) return "declaration: array expected"; for (var i = 0; i < message.declaration.length; ++i) { - var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i]); + var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i], long + 1); if (error) return "declaration." + error; } } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -147966,9 +153863,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions */ - ExtensionRangeOptions.fromObject = function fromObject(object) { + ExtensionRangeOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ExtensionRangeOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ExtensionRangeOptions(); if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -147977,7 +153878,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object.declaration) { @@ -147987,13 +153888,13 @@ for (var i = 0; i < object.declaration.length; ++i) { if (typeof object.declaration[i] !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: object expected"); - message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i]); + message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i], long + 1); } } if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } switch (object.verification) { case "DECLARATION": @@ -148102,7 +154003,7 @@ function Declaration(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -148207,9 +154108,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Declaration.decode = function decode(reader, length, error) { + Declaration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -148237,7 +154142,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -148268,9 +154173,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Declaration.verify = function verify(message) { + Declaration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.number != null && message.hasOwnProperty("number")) if (!$util.isInteger(message.number)) return "number: integer expected"; @@ -148297,9 +154206,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration */ - Declaration.fromObject = function fromObject(object) { + Declaration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); if (object.number != null) message.number = object.number | 0; @@ -148423,7 +154336,7 @@ function FieldDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -148588,9 +154501,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldDescriptorProto.decode = function decode(reader, length, error) { + FieldDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -148634,7 +154551,7 @@ break; } case 8: { - message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 17: { @@ -148642,7 +154559,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -148673,9 +154590,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldDescriptorProto.verify = function verify(message) { + FieldDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -148731,7 +154652,7 @@ if (!$util.isString(message.jsonName)) return "jsonName: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FieldOptions.verify(message.options); + var error = $root.google.protobuf.FieldOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -148749,9 +154670,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto */ - FieldDescriptorProto.fromObject = function fromObject(object) { + FieldDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -148870,7 +154795,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.FieldOptions.fromObject(object.options); + message.options = $root.google.protobuf.FieldOptions.fromObject(object.options, long + 1); } if (object.proto3Optional != null) message.proto3Optional = Boolean(object.proto3Optional); @@ -149040,7 +154965,7 @@ function OneofDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -149115,9 +155040,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofDescriptorProto.decode = function decode(reader, length, error) { + OneofDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -149129,11 +155058,11 @@ break; } case 2: { - message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -149164,14 +155093,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OneofDescriptorProto.verify = function verify(message) { + OneofDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.OneofOptions.verify(message.options); + var error = $root.google.protobuf.OneofOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -149186,16 +155119,20 @@ * @param {Object.} object Plain object * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto */ - OneofDescriptorProto.fromObject = function fromObject(object) { + OneofDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.OneofDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.OneofDescriptorProto(); if (object.name != null) message.name = String(object.name); if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.OneofOptions.fromObject(object.options); + message.options = $root.google.protobuf.OneofOptions.fromObject(object.options, long + 1); } return message; }; @@ -149281,7 +155218,7 @@ this.reservedName = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -149399,9 +155336,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumDescriptorProto.decode = function decode(reader, length, error) { + EnumDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -149415,17 +155356,17 @@ case 2: { if (!(message.value && message.value.length)) message.value = []; - message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); + message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { if (!(message.reservedRange && message.reservedRange.length)) message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); + message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { @@ -149439,7 +155380,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -149470,9 +155411,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumDescriptorProto.verify = function verify(message) { + EnumDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -149480,13 +155425,13 @@ if (!Array.isArray(message.value)) return "value: array expected"; for (var i = 0; i < message.value.length; ++i) { - var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i]); + var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i], long + 1); if (error) return "value." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumOptions.verify(message.options); + var error = $root.google.protobuf.EnumOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -149494,7 +155439,7 @@ if (!Array.isArray(message.reservedRange)) return "reservedRange: array expected"; for (var i = 0; i < message.reservedRange.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i]); + var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i], long + 1); if (error) return "reservedRange." + error; } @@ -149526,9 +155471,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto */ - EnumDescriptorProto.fromObject = function fromObject(object) { + EnumDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -149539,13 +155488,13 @@ for (var i = 0; i < object.value.length; ++i) { if (typeof object.value[i] !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected"); - message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i]); + message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.EnumOptions.fromObject(object.options); + message.options = $root.google.protobuf.EnumOptions.fromObject(object.options, long + 1); } if (object.reservedRange) { if (!Array.isArray(object.reservedRange)) @@ -149554,7 +155503,7 @@ for (var i = 0; i < object.reservedRange.length; ++i) { if (typeof object.reservedRange[i] !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected"); - message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i]); + message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i], long + 1); } } if (object.reservedName) { @@ -149681,7 +155630,7 @@ function EnumReservedRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -149756,9 +155705,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumReservedRange.decode = function decode(reader, length, error) { + EnumReservedRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -149774,7 +155727,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -149805,9 +155758,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumReservedRange.verify = function verify(message) { + EnumReservedRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -149825,9 +155782,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange */ - EnumReservedRange.fromObject = function fromObject(object) { + EnumReservedRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); if (object.start != null) message.start = object.start | 0; @@ -149914,7 +155875,7 @@ function EnumValueDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -149999,9 +155960,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueDescriptorProto.decode = function decode(reader, length, error) { + EnumValueDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -150017,11 +155982,11 @@ break; } case 3: { - message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -150052,9 +156017,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumValueDescriptorProto.verify = function verify(message) { + EnumValueDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -150062,7 +156031,7 @@ if (!$util.isInteger(message.number)) return "number: integer expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumValueOptions.verify(message.options); + var error = $root.google.protobuf.EnumValueOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -150077,9 +156046,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto */ - EnumValueDescriptorProto.fromObject = function fromObject(object) { + EnumValueDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumValueDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumValueDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -150088,7 +156061,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options); + message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options, long + 1); } return message; }; @@ -150172,7 +156145,7 @@ this.method = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -150258,9 +156231,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceDescriptorProto.decode = function decode(reader, length, error) { + ServiceDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -150274,15 +156251,15 @@ case 2: { if (!(message.method && message.method.length)) message.method = []; - message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); + message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -150313,9 +156290,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ServiceDescriptorProto.verify = function verify(message) { + ServiceDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -150323,13 +156304,13 @@ if (!Array.isArray(message.method)) return "method: array expected"; for (var i = 0; i < message.method.length; ++i) { - var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i]); + var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i], long + 1); if (error) return "method." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ServiceOptions.verify(message.options); + var error = $root.google.protobuf.ServiceOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -150344,9 +156325,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto */ - ServiceDescriptorProto.fromObject = function fromObject(object) { + ServiceDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ServiceDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ServiceDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -150357,13 +156342,13 @@ for (var i = 0; i < object.method.length; ++i) { if (typeof object.method[i] !== "object") throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected"); - message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i]); + message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options); + message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options, long + 1); } return message; }; @@ -150453,7 +156438,7 @@ function MethodDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -150568,9 +156553,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodDescriptorProto.decode = function decode(reader, length, error) { + MethodDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -150590,7 +156579,7 @@ break; } case 4: { - message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -150602,7 +156591,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -150633,9 +156622,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodDescriptorProto.verify = function verify(message) { + MethodDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -150646,7 +156639,7 @@ if (!$util.isString(message.outputType)) return "outputType: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MethodOptions.verify(message.options); + var error = $root.google.protobuf.MethodOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -150667,9 +156660,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto */ - MethodDescriptorProto.fromObject = function fromObject(object) { + MethodDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MethodDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MethodDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -150680,7 +156677,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.MethodOptions.fromObject(object.options); + message.options = $root.google.protobuf.MethodOptions.fromObject(object.options, long + 1); } if (object.clientStreaming != null) message.clientStreaming = Boolean(object.clientStreaming); @@ -150797,7 +156794,7 @@ this[".google.api.resourceDefinition"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -151074,9 +157071,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.decode = function decode(reader, length, error) { + FileOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -151160,23 +157161,23 @@ break; } case 50: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1053: { if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length)) message[".google.api.resourceDefinition"] = []; - message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32())); + message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -151207,9 +157208,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileOptions.verify = function verify(message) { + FileOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) if (!$util.isString(message.javaPackage)) return "javaPackage: string expected"; @@ -151274,7 +157279,7 @@ if (!$util.isString(message.rubyPackage)) return "rubyPackage: string expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -151282,7 +157287,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -151291,7 +157296,7 @@ if (!Array.isArray(message[".google.api.resourceDefinition"])) return ".google.api.resourceDefinition: array expected"; for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) { - var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i]); + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i], long + 1); if (error) return ".google.api.resourceDefinition." + error; } @@ -151307,9 +157312,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileOptions} FileOptions */ - FileOptions.fromObject = function fromObject(object) { + FileOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileOptions(); if (object.javaPackage != null) message.javaPackage = String(object.javaPackage); @@ -151370,7 +157379,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.FileOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -151379,7 +157388,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.resourceDefinition"]) { @@ -151389,7 +157398,7 @@ for (var i = 0; i < object[".google.api.resourceDefinition"].length; ++i) { if (typeof object[".google.api.resourceDefinition"][i] !== "object") throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: object expected"); - message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i]); + message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i], long + 1); } } return message; @@ -151560,7 +157569,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -151696,9 +157705,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MessageOptions.decode = function decode(reader, length, error) { + MessageOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -151726,21 +157739,21 @@ break; } case 12: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1053: { - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32()); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -151771,9 +157784,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MessageOptions.verify = function verify(message) { + MessageOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) if (typeof message.messageSetWireFormat !== "boolean") return "messageSetWireFormat: boolean expected"; @@ -151790,7 +157807,7 @@ if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") return "deprecatedLegacyJsonFieldConflicts: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -151798,13 +157815,13 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } } if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) { - var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"]); + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"], long + 1); if (error) return ".google.api.resource." + error; } @@ -151819,9 +157836,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MessageOptions} MessageOptions */ - MessageOptions.fromObject = function fromObject(object) { + MessageOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MessageOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MessageOptions(); if (object.messageSetWireFormat != null) message.messageSetWireFormat = Boolean(object.messageSetWireFormat); @@ -151836,7 +157857,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.MessageOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -151845,13 +157866,13 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.resource"] != null) { if (typeof object[".google.api.resource"] !== "object") throw TypeError(".google.protobuf.MessageOptions..google.api.resource: object expected"); - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"]); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"], long + 1); } return message; }; @@ -151971,7 +157992,7 @@ this[".google.api.fieldBehavior"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -152200,9 +158221,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldOptions.decode = function decode(reader, length, error) { + FieldOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -152259,25 +158284,25 @@ case 20: { if (!(message.editionDefaults && message.editionDefaults.length)) message.editionDefaults = []; - message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32())); + message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 21: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 22: { - message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32()); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1055: { - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32()); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1052: { @@ -152292,11 +158317,11 @@ break; } case 291403980: { - message[".google.api.fieldInfo"] = $root.google.api.FieldInfo.decode(reader, reader.uint32()); + message[".google.api.fieldInfo"] = $root.google.api.FieldInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -152327,9 +158352,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldOptions.verify = function verify(message) { + FieldOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ctype != null && message.hasOwnProperty("ctype")) switch (message.ctype) { default: @@ -152399,18 +158428,18 @@ if (!Array.isArray(message.editionDefaults)) return "editionDefaults: array expected"; for (var i = 0; i < message.editionDefaults.length; ++i) { - var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i]); + var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i], long + 1); if (error) return "editionDefaults." + error; } } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) { - var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport); + var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport, long + 1); if (error) return "featureSupport." + error; } @@ -152418,13 +158447,13 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } } if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) { - var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"]); + var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"], long + 1); if (error) return ".google.api.resourceReference." + error; } @@ -152448,7 +158477,7 @@ } } if (message[".google.api.fieldInfo"] != null && message.hasOwnProperty(".google.api.fieldInfo")) { - var error = $root.google.api.FieldInfo.verify(message[".google.api.fieldInfo"]); + var error = $root.google.api.FieldInfo.verify(message[".google.api.fieldInfo"], long + 1); if (error) return ".google.api.fieldInfo." + error; } @@ -152463,9 +158492,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions} FieldOptions */ - FieldOptions.fromObject = function fromObject(object) { + FieldOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions(); switch (object.ctype) { default: @@ -152599,18 +158632,18 @@ for (var i = 0; i < object.editionDefaults.length; ++i) { if (typeof object.editionDefaults[i] !== "object") throw TypeError(".google.protobuf.FieldOptions.editionDefaults: object expected"); - message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i]); + message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i], long + 1); } } if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.FieldOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.featureSupport != null) { if (typeof object.featureSupport !== "object") throw TypeError(".google.protobuf.FieldOptions.featureSupport: object expected"); - message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -152619,13 +158652,13 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.resourceReference"] != null) { if (typeof object[".google.api.resourceReference"] !== "object") throw TypeError(".google.protobuf.FieldOptions..google.api.resourceReference: object expected"); - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"]); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"], long + 1); } if (object[".google.api.fieldBehavior"]) { if (!Array.isArray(object[".google.api.fieldBehavior"])) @@ -152679,7 +158712,7 @@ if (object[".google.api.fieldInfo"] != null) { if (typeof object[".google.api.fieldInfo"] !== "object") throw TypeError(".google.protobuf.FieldOptions..google.api.fieldInfo: object expected"); - message[".google.api.fieldInfo"] = $root.google.api.FieldInfo.fromObject(object[".google.api.fieldInfo"]); + message[".google.api.fieldInfo"] = $root.google.api.FieldInfo.fromObject(object[".google.api.fieldInfo"], long + 1); } return message; }; @@ -152892,7 +158925,7 @@ function EditionDefault(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -152967,9 +159000,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EditionDefault.decode = function decode(reader, length, error) { + EditionDefault.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.EditionDefault(); while (reader.pos < end) { var tag = reader.uint32(); @@ -152985,7 +159022,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -153016,9 +159053,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EditionDefault.verify = function verify(message) { + EditionDefault.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.edition != null && message.hasOwnProperty("edition")) switch (message.edition) { default: @@ -153051,9 +159092,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault */ - EditionDefault.fromObject = function fromObject(object) { + EditionDefault.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions.EditionDefault) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions.EditionDefault(); switch (object.edition) { default: @@ -153192,7 +159237,7 @@ function FeatureSupport(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -153287,9 +159332,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSupport.decode = function decode(reader, length, error) { + FeatureSupport.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.FeatureSupport(); while (reader.pos < end) { var tag = reader.uint32(); @@ -153313,7 +159362,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -153344,9 +159393,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSupport.verify = function verify(message) { + FeatureSupport.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.editionIntroduced != null && message.hasOwnProperty("editionIntroduced")) switch (message.editionIntroduced) { default: @@ -153415,9 +159468,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport */ - FeatureSupport.fromObject = function fromObject(object) { + FeatureSupport.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions.FeatureSupport) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions.FeatureSupport(); switch (object.editionIntroduced) { default: @@ -153676,7 +159733,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -153752,9 +159809,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofOptions.decode = function decode(reader, length, error) { + OneofOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -153762,17 +159823,17 @@ break; switch (tag >>> 3) { case 1: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -153803,11 +159864,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OneofOptions.verify = function verify(message) { + OneofOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -153815,7 +159880,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -153831,14 +159896,18 @@ * @param {Object.} object Plain object * @returns {google.protobuf.OneofOptions} OneofOptions */ - OneofOptions.fromObject = function fromObject(object) { + OneofOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.OneofOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.OneofOptions(); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.OneofOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -153847,7 +159916,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -153934,7 +160003,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -154040,9 +160109,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumOptions.decode = function decode(reader, length, error) { + EnumOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -154062,17 +160135,17 @@ break; } case 7: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -154103,9 +160176,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumOptions.verify = function verify(message) { + EnumOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) if (typeof message.allowAlias !== "boolean") return "allowAlias: boolean expected"; @@ -154116,7 +160193,7 @@ if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") return "deprecatedLegacyJsonFieldConflicts: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -154124,7 +160201,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -154140,9 +160217,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumOptions} EnumOptions */ - EnumOptions.fromObject = function fromObject(object) { + EnumOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumOptions(); if (object.allowAlias != null) message.allowAlias = Boolean(object.allowAlias); @@ -154153,7 +160234,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.EnumOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -154162,7 +160243,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -154259,7 +160340,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -154365,9 +160446,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueOptions.decode = function decode(reader, length, error) { + EnumValueOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -154379,7 +160464,7 @@ break; } case 2: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -154387,17 +160472,17 @@ break; } case 4: { - message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32()); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -154428,14 +160513,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumValueOptions.verify = function verify(message) { + EnumValueOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.deprecated != null && message.hasOwnProperty("deprecated")) if (typeof message.deprecated !== "boolean") return "deprecated: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -154443,7 +160532,7 @@ if (typeof message.debugRedact !== "boolean") return "debugRedact: boolean expected"; if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) { - var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport); + var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport, long + 1); if (error) return "featureSupport." + error; } @@ -154451,7 +160540,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -154467,23 +160556,27 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumValueOptions} EnumValueOptions */ - EnumValueOptions.fromObject = function fromObject(object) { + EnumValueOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumValueOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumValueOptions(); if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.EnumValueOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.debugRedact != null) message.debugRedact = Boolean(object.debugRedact); if (object.featureSupport != null) { if (typeof object.featureSupport !== "object") throw TypeError(".google.protobuf.EnumValueOptions.featureSupport: object expected"); - message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -154492,7 +160585,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -154590,7 +160683,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -154706,9 +160799,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceOptions.decode = function decode(reader, length, error) { + ServiceOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -154716,7 +160813,7 @@ break; switch (tag >>> 3) { case 34: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 33: { @@ -154726,7 +160823,7 @@ case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1049: { @@ -154742,7 +160839,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -154773,11 +160870,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ServiceOptions.verify = function verify(message) { + ServiceOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -154788,7 +160889,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -154813,14 +160914,18 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ServiceOptions} ServiceOptions */ - ServiceOptions.fromObject = function fromObject(object) { + ServiceOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ServiceOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ServiceOptions(); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.ServiceOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); @@ -154831,7 +160936,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.defaultHost"] != null) @@ -154941,7 +161046,7 @@ this[".google.api.methodSignature"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -155078,9 +161183,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodOptions.decode = function decode(reader, length, error) { + MethodOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -155096,17 +161205,17 @@ break; } case 35: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 72295728: { - message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32()); + message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1051: { @@ -155116,15 +161225,15 @@ break; } case 1049: { - message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32()); + message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } case 72295729: { - message[".google.api.routing"] = $root.google.api.RoutingRule.decode(reader, reader.uint32()); + message[".google.api.routing"] = $root.google.api.RoutingRule.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -155155,9 +161264,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodOptions.verify = function verify(message) { + MethodOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.deprecated != null && message.hasOwnProperty("deprecated")) if (typeof message.deprecated !== "boolean") return "deprecated: boolean expected"; @@ -155171,7 +161284,7 @@ break; } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -155179,13 +161292,13 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } } if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) { - var error = $root.google.api.HttpRule.verify(message[".google.api.http"]); + var error = $root.google.api.HttpRule.verify(message[".google.api.http"], long + 1); if (error) return ".google.api.http." + error; } @@ -155197,12 +161310,12 @@ return ".google.api.methodSignature: string[] expected"; } if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo")) { - var error = $root.google.longrunning.OperationInfo.verify(message[".google.longrunning.operationInfo"]); + var error = $root.google.longrunning.OperationInfo.verify(message[".google.longrunning.operationInfo"], long + 1); if (error) return ".google.longrunning.operationInfo." + error; } if (message[".google.api.routing"] != null && message.hasOwnProperty(".google.api.routing")) { - var error = $root.google.api.RoutingRule.verify(message[".google.api.routing"]); + var error = $root.google.api.RoutingRule.verify(message[".google.api.routing"], long + 1); if (error) return ".google.api.routing." + error; } @@ -155217,9 +161330,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MethodOptions} MethodOptions */ - MethodOptions.fromObject = function fromObject(object) { + MethodOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MethodOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MethodOptions(); if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); @@ -155246,7 +161363,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.MethodOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -155255,13 +161372,13 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.http"] != null) { if (typeof object[".google.api.http"] !== "object") throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected"); - message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"]); + message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"], long + 1); } if (object[".google.api.methodSignature"]) { if (!Array.isArray(object[".google.api.methodSignature"])) @@ -155273,12 +161390,12 @@ if (object[".google.longrunning.operationInfo"] != null) { if (typeof object[".google.longrunning.operationInfo"] !== "object") throw TypeError(".google.protobuf.MethodOptions..google.longrunning.operationInfo: object expected"); - message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.fromObject(object[".google.longrunning.operationInfo"]); + message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.fromObject(object[".google.longrunning.operationInfo"], long + 1); } if (object[".google.api.routing"] != null) { if (typeof object[".google.api.routing"] !== "object") throw TypeError(".google.protobuf.MethodOptions..google.api.routing: object expected"); - message[".google.api.routing"] = $root.google.api.RoutingRule.fromObject(object[".google.api.routing"]); + message[".google.api.routing"] = $root.google.api.RoutingRule.fromObject(object[".google.api.routing"], long + 1); } return message; }; @@ -155405,7 +161522,7 @@ this.name = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -155531,9 +161648,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UninterpretedOption.decode = function decode(reader, length, error) { + UninterpretedOption.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption(); while (reader.pos < end) { var tag = reader.uint32(); @@ -155543,7 +161664,7 @@ case 2: { if (!(message.name && message.name.length)) message.name = []; - message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); + message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -155571,7 +161692,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -155602,14 +161723,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UninterpretedOption.verify = function verify(message) { + UninterpretedOption.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) { if (!Array.isArray(message.name)) return "name: array expected"; for (var i = 0; i < message.name.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i]); + var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i], long + 1); if (error) return "name." + error; } @@ -155643,9 +161768,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.UninterpretedOption} UninterpretedOption */ - UninterpretedOption.fromObject = function fromObject(object) { + UninterpretedOption.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.UninterpretedOption) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.UninterpretedOption(); if (object.name) { if (!Array.isArray(object.name)) @@ -155654,7 +161783,7 @@ for (var i = 0; i < object.name.length; ++i) { if (typeof object.name[i] !== "object") throw TypeError(".google.protobuf.UninterpretedOption.name: object expected"); - message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i]); + message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i], long + 1); } } if (object.identifierValue != null) @@ -155799,7 +161928,7 @@ function NamePart(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -155872,9 +162001,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NamePart.decode = function decode(reader, length, error) { + NamePart.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart(); while (reader.pos < end) { var tag = reader.uint32(); @@ -155890,7 +162023,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -155925,9 +162058,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NamePart.verify = function verify(message) { + NamePart.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (!$util.isString(message.namePart)) return "namePart: string expected"; if (typeof message.isExtension !== "boolean") @@ -155943,9 +162080,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart */ - NamePart.fromObject = function fromObject(object) { + NamePart.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.UninterpretedOption.NamePart) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.UninterpretedOption.NamePart(); if (object.namePart != null) message.namePart = String(object.namePart); @@ -156037,7 +162178,7 @@ function FeatureSet(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -156172,9 +162313,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSet.decode = function decode(reader, length, error) { + FeatureSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -156214,7 +162359,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -156245,9 +162390,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSet.verify = function verify(message) { + FeatureSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence")) switch (message.fieldPresence) { default: @@ -156334,9 +162483,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSet} FeatureSet */ - FeatureSet.fromObject = function fromObject(object) { + FeatureSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSet(); switch (object.fieldPresence) { default: @@ -156714,7 +162867,7 @@ function VisibilityFeature(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -156769,9 +162922,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VisibilityFeature.decode = function decode(reader, length, error) { + VisibilityFeature.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet.VisibilityFeature(); while (reader.pos < end) { var tag = reader.uint32(); @@ -156779,7 +162936,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -156810,9 +162967,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - VisibilityFeature.verify = function verify(message) { + VisibilityFeature.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -156824,9 +162985,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature */ - VisibilityFeature.fromObject = function fromObject(object) { + VisibilityFeature.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSet.VisibilityFeature) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.protobuf.FeatureSet.VisibilityFeature(); }; @@ -156918,7 +163083,7 @@ this.defaults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -157004,9 +163169,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSetDefaults.decode = function decode(reader, length, error) { + FeatureSetDefaults.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults(); while (reader.pos < end) { var tag = reader.uint32(); @@ -157016,7 +163185,7 @@ case 1: { if (!(message.defaults && message.defaults.length)) message.defaults = []; - message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32())); + message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { @@ -157028,7 +163197,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -157059,14 +163228,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSetDefaults.verify = function verify(message) { + FeatureSetDefaults.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.defaults != null && message.hasOwnProperty("defaults")) { if (!Array.isArray(message.defaults)) return "defaults: array expected"; for (var i = 0; i < message.defaults.length; ++i) { - var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i]); + var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i], long + 1); if (error) return "defaults." + error; } @@ -157118,9 +163291,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults */ - FeatureSetDefaults.fromObject = function fromObject(object) { + FeatureSetDefaults.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSetDefaults) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSetDefaults(); if (object.defaults) { if (!Array.isArray(object.defaults)) @@ -157129,7 +163306,7 @@ for (var i = 0; i < object.defaults.length; ++i) { if (typeof object.defaults[i] !== "object") throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: object expected"); - message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i]); + message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i], long + 1); } } switch (object.minimumEdition) { @@ -157326,7 +163503,7 @@ function FeatureSetEditionDefault(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -157411,9 +163588,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSetEditionDefault.decode = function decode(reader, length, error) { + FeatureSetEditionDefault.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); while (reader.pos < end) { var tag = reader.uint32(); @@ -157425,15 +163606,15 @@ break; } case 4: { - message.overridableFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.overridableFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.fixedFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.fixedFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -157464,9 +163645,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSetEditionDefault.verify = function verify(message) { + FeatureSetEditionDefault.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.edition != null && message.hasOwnProperty("edition")) switch (message.edition) { default: @@ -157486,12 +163671,12 @@ break; } if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures")) { - var error = $root.google.protobuf.FeatureSet.verify(message.overridableFeatures); + var error = $root.google.protobuf.FeatureSet.verify(message.overridableFeatures, long + 1); if (error) return "overridableFeatures." + error; } if (message.fixedFeatures != null && message.hasOwnProperty("fixedFeatures")) { - var error = $root.google.protobuf.FeatureSet.verify(message.fixedFeatures); + var error = $root.google.protobuf.FeatureSet.verify(message.fixedFeatures, long + 1); if (error) return "fixedFeatures." + error; } @@ -157506,9 +163691,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault */ - FeatureSetEditionDefault.fromObject = function fromObject(object) { + FeatureSetEditionDefault.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); switch (object.edition) { default: @@ -157569,12 +163758,12 @@ if (object.overridableFeatures != null) { if (typeof object.overridableFeatures !== "object") throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridableFeatures: object expected"); - message.overridableFeatures = $root.google.protobuf.FeatureSet.fromObject(object.overridableFeatures); + message.overridableFeatures = $root.google.protobuf.FeatureSet.fromObject(object.overridableFeatures, long + 1); } if (object.fixedFeatures != null) { if (typeof object.fixedFeatures !== "object") throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixedFeatures: object expected"); - message.fixedFeatures = $root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures); + message.fixedFeatures = $root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures, long + 1); } return message; }; @@ -157659,7 +163848,7 @@ this.location = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -157725,9 +163914,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SourceCodeInfo.decode = function decode(reader, length, error) { + SourceCodeInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -157737,11 +163930,11 @@ case 1: { if (!(message.location && message.location.length)) message.location = []; - message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); + message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -157772,14 +163965,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SourceCodeInfo.verify = function verify(message) { + SourceCodeInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.location != null && message.hasOwnProperty("location")) { if (!Array.isArray(message.location)) return "location: array expected"; for (var i = 0; i < message.location.length; ++i) { - var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i]); + var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i], long + 1); if (error) return "location." + error; } @@ -157795,9 +163992,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo */ - SourceCodeInfo.fromObject = function fromObject(object) { + SourceCodeInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.SourceCodeInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.SourceCodeInfo(); if (object.location) { if (!Array.isArray(object.location)) @@ -157806,7 +164007,7 @@ for (var i = 0; i < object.location.length; ++i) { if (typeof object.location[i] !== "object") throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected"); - message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i]); + message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i], long + 1); } } return message; @@ -157888,7 +164089,7 @@ this.leadingDetachedComments = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -158002,9 +164203,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Location.decode = function decode(reader, length, error) { + Location.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo.Location(); while (reader.pos < end) { var tag = reader.uint32(); @@ -158048,7 +164253,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -158079,9 +164284,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Location.verify = function verify(message) { + Location.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.path != null && message.hasOwnProperty("path")) { if (!Array.isArray(message.path)) return "path: array expected"; @@ -158120,9 +164329,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.SourceCodeInfo.Location} Location */ - Location.fromObject = function fromObject(object) { + Location.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.SourceCodeInfo.Location) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.SourceCodeInfo.Location(); if (object.path) { if (!Array.isArray(object.path)) @@ -158249,7 +164462,7 @@ this.annotation = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -158315,9 +164528,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeneratedCodeInfo.decode = function decode(reader, length, error) { + GeneratedCodeInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -158327,11 +164544,11 @@ case 1: { if (!(message.annotation && message.annotation.length)) message.annotation = []; - message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); + message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -158362,14 +164579,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GeneratedCodeInfo.verify = function verify(message) { + GeneratedCodeInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.annotation != null && message.hasOwnProperty("annotation")) { if (!Array.isArray(message.annotation)) return "annotation: array expected"; for (var i = 0; i < message.annotation.length; ++i) { - var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i]); + var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i], long + 1); if (error) return "annotation." + error; } @@ -158385,9 +164606,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo */ - GeneratedCodeInfo.fromObject = function fromObject(object) { + GeneratedCodeInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.GeneratedCodeInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.GeneratedCodeInfo(); if (object.annotation) { if (!Array.isArray(object.annotation)) @@ -158396,7 +164621,7 @@ for (var i = 0; i < object.annotation.length; ++i) { if (typeof object.annotation[i] !== "object") throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected"); - message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i]); + message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i], long + 1); } } return message; @@ -158476,7 +164701,7 @@ this.path = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -158585,9 +164810,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Annotation.decode = function decode(reader, length, error) { + Annotation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -158622,7 +164851,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -158653,9 +164882,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Annotation.verify = function verify(message) { + Annotation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.path != null && message.hasOwnProperty("path")) { if (!Array.isArray(message.path)) return "path: array expected"; @@ -158692,9 +164925,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation */ - Annotation.fromObject = function fromObject(object) { + Annotation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); if (object.path) { if (!Array.isArray(object.path)) @@ -158854,7 +165091,7 @@ this.fields = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -158922,9 +165159,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Struct.decode = function decode(reader, length, error) { + Struct.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Struct(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -158944,18 +165185,20 @@ key = reader.string(); break; case 2: - value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.fields, key); message.fields[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -158986,15 +165229,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Struct.verify = function verify(message) { + Struct.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.fields != null && message.hasOwnProperty("fields")) { if (!$util.isObject(message.fields)) return "fields: object expected"; var key = Object.keys(message.fields); for (var i = 0; i < key.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.fields[key[i]]); + var error = $root.google.protobuf.Value.verify(message.fields[key[i]], long + 1); if (error) return "fields." + error; } @@ -159010,18 +165257,24 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Struct} Struct */ - Struct.fromObject = function fromObject(object) { + Struct.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Struct) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Struct(); if (object.fields) { if (typeof object.fields !== "object") throw TypeError(".google.protobuf.Struct.fields: object expected"); message.fields = {}; for (var keys = Object.keys(object.fields), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.fields, keys[i]); if (typeof object.fields[keys[i]] !== "object") throw TypeError(".google.protobuf.Struct.fields: object expected"); - message.fields[keys[i]] = $root.google.protobuf.Value.fromObject(object.fields[keys[i]]); + message.fields[keys[i]] = $root.google.protobuf.Value.fromObject(object.fields[keys[i]], long + 1); } } return message; @@ -159045,8 +165298,11 @@ var keys2; if (message.fields && (keys2 = Object.keys(message.fields)).length) { object.fields = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.fields, keys2[j]); object.fields[keys2[j]] = $root.google.protobuf.Value.toObject(message.fields[keys2[j]], options); + } } return object; }; @@ -159105,7 +165361,7 @@ function Value(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -159234,9 +165490,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Value.decode = function decode(reader, length, error) { + Value.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Value(); while (reader.pos < end) { var tag = reader.uint32(); @@ -159260,15 +165520,15 @@ break; } case 5: { - message.structValue = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + message.structValue = $root.google.protobuf.Struct.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.listValue = $root.google.protobuf.ListValue.decode(reader, reader.uint32()); + message.listValue = $root.google.protobuf.ListValue.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -159299,9 +165559,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Value.verify = function verify(message) { + Value.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.nullValue != null && message.hasOwnProperty("nullValue")) { properties.kind = 1; @@ -159338,7 +165602,7 @@ return "kind: multiple values"; properties.kind = 1; { - var error = $root.google.protobuf.Struct.verify(message.structValue); + var error = $root.google.protobuf.Struct.verify(message.structValue, long + 1); if (error) return "structValue." + error; } @@ -159348,7 +165612,7 @@ return "kind: multiple values"; properties.kind = 1; { - var error = $root.google.protobuf.ListValue.verify(message.listValue); + var error = $root.google.protobuf.ListValue.verify(message.listValue, long + 1); if (error) return "listValue." + error; } @@ -159364,9 +165628,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Value} Value */ - Value.fromObject = function fromObject(object) { + Value.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Value) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Value(); switch (object.nullValue) { default: @@ -159389,12 +165657,12 @@ if (object.structValue != null) { if (typeof object.structValue !== "object") throw TypeError(".google.protobuf.Value.structValue: object expected"); - message.structValue = $root.google.protobuf.Struct.fromObject(object.structValue); + message.structValue = $root.google.protobuf.Struct.fromObject(object.structValue, long + 1); } if (object.listValue != null) { if (typeof object.listValue !== "object") throw TypeError(".google.protobuf.Value.listValue: object expected"); - message.listValue = $root.google.protobuf.ListValue.fromObject(object.listValue); + message.listValue = $root.google.protobuf.ListValue.fromObject(object.listValue, long + 1); } return message; }; @@ -159507,7 +165775,7 @@ this.values = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -159573,9 +165841,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListValue.decode = function decode(reader, length, error) { + ListValue.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ListValue(); while (reader.pos < end) { var tag = reader.uint32(); @@ -159585,11 +165857,11 @@ case 1: { if (!(message.values && message.values.length)) message.values = []; - message.values.push($root.google.protobuf.Value.decode(reader, reader.uint32())); + message.values.push($root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -159620,14 +165892,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListValue.verify = function verify(message) { + ListValue.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.values != null && message.hasOwnProperty("values")) { if (!Array.isArray(message.values)) return "values: array expected"; for (var i = 0; i < message.values.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.values[i]); + var error = $root.google.protobuf.Value.verify(message.values[i], long + 1); if (error) return "values." + error; } @@ -159643,9 +165919,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ListValue} ListValue */ - ListValue.fromObject = function fromObject(object) { + ListValue.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ListValue) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ListValue(); if (object.values) { if (!Array.isArray(object.values)) @@ -159654,7 +165934,7 @@ for (var i = 0; i < object.values.length; ++i) { if (typeof object.values[i] !== "object") throw TypeError(".google.protobuf.ListValue.values: object expected"); - message.values[i] = $root.google.protobuf.Value.fromObject(object.values[i]); + message.values[i] = $root.google.protobuf.Value.fromObject(object.values[i], long + 1); } } return message; @@ -159733,7 +166013,7 @@ function Timestamp(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -159808,9 +166088,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Timestamp.decode = function decode(reader, length, error) { + Timestamp.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); while (reader.pos < end) { var tag = reader.uint32(); @@ -159826,7 +166110,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -159857,9 +166141,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Timestamp.verify = function verify(message) { + Timestamp.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.seconds != null && message.hasOwnProperty("seconds")) if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) return "seconds: integer|Long expected"; @@ -159877,9 +166165,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Timestamp} Timestamp */ - Timestamp.fromObject = function fromObject(object) { + Timestamp.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Timestamp) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Timestamp(); if (object.seconds != null) if ($util.Long) @@ -159976,7 +166268,7 @@ function Duration(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -160051,9 +166343,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Duration.decode = function decode(reader, length, error) { + Duration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -160069,7 +166365,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -160100,9 +166396,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Duration.verify = function verify(message) { + Duration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.seconds != null && message.hasOwnProperty("seconds")) if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) return "seconds: integer|Long expected"; @@ -160120,9 +166420,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Duration} Duration */ - Duration.fromObject = function fromObject(object) { + Duration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Duration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Duration(); if (object.seconds != null) if ($util.Long) @@ -160219,7 +166523,7 @@ this.paths = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -160285,9 +166589,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldMask.decode = function decode(reader, length, error) { + FieldMask.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldMask(); while (reader.pos < end) { var tag = reader.uint32(); @@ -160301,7 +166609,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -160332,9 +166640,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldMask.verify = function verify(message) { + FieldMask.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.paths != null && message.hasOwnProperty("paths")) { if (!Array.isArray(message.paths)) return "paths: array expected"; @@ -160353,9 +166665,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldMask} FieldMask */ - FieldMask.fromObject = function fromObject(object) { + FieldMask.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldMask) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldMask(); if (object.paths) { if (!Array.isArray(object.paths)) @@ -160440,7 +166756,7 @@ function Any(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -160515,9 +166831,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Any.decode = function decode(reader, length, error) { + Any.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Any(); while (reader.pos < end) { var tag = reader.uint32(); @@ -160533,7 +166853,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -160564,9 +166884,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Any.verify = function verify(message) { + Any.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type_url != null && message.hasOwnProperty("type_url")) if (!$util.isString(message.type_url)) return "type_url: string expected"; @@ -160584,9 +166908,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Any} Any */ - Any.fromObject = function fromObject(object) { + Any.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Any) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Any(); if (object.type_url != null) message.type_url = String(object.type_url); @@ -160676,7 +167004,7 @@ function Empty(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -160731,9 +167059,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Empty.decode = function decode(reader, length, error) { + Empty.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Empty(); while (reader.pos < end) { var tag = reader.uint32(); @@ -160741,7 +167073,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -160772,9 +167104,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Empty.verify = function verify(message) { + Empty.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -160786,9 +167122,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Empty} Empty */ - Empty.fromObject = function fromObject(object) { + Empty.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Empty) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.protobuf.Empty(); }; @@ -160869,7 +167209,7 @@ function Expr(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -160964,9 +167304,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Expr.decode = function decode(reader, length, error) { + Expr.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.type.Expr(); while (reader.pos < end) { var tag = reader.uint32(); @@ -160990,7 +167334,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -161021,9 +167365,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Expr.verify = function verify(message) { + Expr.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.expression != null && message.hasOwnProperty("expression")) if (!$util.isString(message.expression)) return "expression: string expected"; @@ -161047,9 +167395,13 @@ * @param {Object.} object Plain object * @returns {google.type.Expr} Expr */ - Expr.fromObject = function fromObject(object) { + Expr.fromObject = function fromObject(object, long) { if (object instanceof $root.google.type.Expr) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.type.Expr(); if (object.expression != null) message.expression = String(object.expression); @@ -161298,7 +167650,7 @@ function SetIamPolicyRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -161383,9 +167735,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SetIamPolicyRequest.decode = function decode(reader, length, error) { + SetIamPolicyRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.SetIamPolicyRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -161397,15 +167753,15 @@ break; } case 2: { - message.policy = $root.google.iam.v1.Policy.decode(reader, reader.uint32()); + message.policy = $root.google.iam.v1.Policy.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -161436,19 +167792,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SetIamPolicyRequest.verify = function verify(message) { + SetIamPolicyRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resource != null && message.hasOwnProperty("resource")) if (!$util.isString(message.resource)) return "resource: string expected"; if (message.policy != null && message.hasOwnProperty("policy")) { - var error = $root.google.iam.v1.Policy.verify(message.policy); + var error = $root.google.iam.v1.Policy.verify(message.policy, long + 1); if (error) return "policy." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -161463,21 +167823,25 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.SetIamPolicyRequest} SetIamPolicyRequest */ - SetIamPolicyRequest.fromObject = function fromObject(object) { + SetIamPolicyRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.SetIamPolicyRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.SetIamPolicyRequest(); if (object.resource != null) message.resource = String(object.resource); if (object.policy != null) { if (typeof object.policy !== "object") throw TypeError(".google.iam.v1.SetIamPolicyRequest.policy: object expected"); - message.policy = $root.google.iam.v1.Policy.fromObject(object.policy); + message.policy = $root.google.iam.v1.Policy.fromObject(object.policy, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.iam.v1.SetIamPolicyRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -161559,7 +167923,7 @@ function GetIamPolicyRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -161634,9 +167998,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIamPolicyRequest.decode = function decode(reader, length, error) { + GetIamPolicyRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.GetIamPolicyRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -161648,11 +168016,11 @@ break; } case 2: { - message.options = $root.google.iam.v1.GetPolicyOptions.decode(reader, reader.uint32()); + message.options = $root.google.iam.v1.GetPolicyOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -161683,14 +168051,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIamPolicyRequest.verify = function verify(message) { + GetIamPolicyRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resource != null && message.hasOwnProperty("resource")) if (!$util.isString(message.resource)) return "resource: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.iam.v1.GetPolicyOptions.verify(message.options); + var error = $root.google.iam.v1.GetPolicyOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -161705,16 +168077,20 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.GetIamPolicyRequest} GetIamPolicyRequest */ - GetIamPolicyRequest.fromObject = function fromObject(object) { + GetIamPolicyRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.GetIamPolicyRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.GetIamPolicyRequest(); if (object.resource != null) message.resource = String(object.resource); if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.iam.v1.GetIamPolicyRequest.options: object expected"); - message.options = $root.google.iam.v1.GetPolicyOptions.fromObject(object.options); + message.options = $root.google.iam.v1.GetPolicyOptions.fromObject(object.options, long + 1); } return message; }; @@ -161794,7 +168170,7 @@ this.permissions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -161870,9 +168246,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TestIamPermissionsRequest.decode = function decode(reader, length, error) { + TestIamPermissionsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.TestIamPermissionsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -161890,7 +168270,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -161921,9 +168301,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TestIamPermissionsRequest.verify = function verify(message) { + TestIamPermissionsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resource != null && message.hasOwnProperty("resource")) if (!$util.isString(message.resource)) return "resource: string expected"; @@ -161945,9 +168329,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.TestIamPermissionsRequest} TestIamPermissionsRequest */ - TestIamPermissionsRequest.fromObject = function fromObject(object) { + TestIamPermissionsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.TestIamPermissionsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.TestIamPermissionsRequest(); if (object.resource != null) message.resource = String(object.resource); @@ -162038,7 +168426,7 @@ this.permissions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -162104,9 +168492,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TestIamPermissionsResponse.decode = function decode(reader, length, error) { + TestIamPermissionsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.TestIamPermissionsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -162120,7 +168512,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -162151,9 +168543,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TestIamPermissionsResponse.verify = function verify(message) { + TestIamPermissionsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.permissions != null && message.hasOwnProperty("permissions")) { if (!Array.isArray(message.permissions)) return "permissions: array expected"; @@ -162172,9 +168568,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.TestIamPermissionsResponse} TestIamPermissionsResponse */ - TestIamPermissionsResponse.fromObject = function fromObject(object) { + TestIamPermissionsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.TestIamPermissionsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.TestIamPermissionsResponse(); if (object.permissions) { if (!Array.isArray(object.permissions)) @@ -162258,7 +168658,7 @@ function GetPolicyOptions(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -162323,9 +168723,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetPolicyOptions.decode = function decode(reader, length, error) { + GetPolicyOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.GetPolicyOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -162337,7 +168741,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -162368,9 +168772,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetPolicyOptions.verify = function verify(message) { + GetPolicyOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.requestedPolicyVersion != null && message.hasOwnProperty("requestedPolicyVersion")) if (!$util.isInteger(message.requestedPolicyVersion)) return "requestedPolicyVersion: integer expected"; @@ -162385,9 +168793,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.GetPolicyOptions} GetPolicyOptions */ - GetPolicyOptions.fromObject = function fromObject(object) { + GetPolicyOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.GetPolicyOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.GetPolicyOptions(); if (object.requestedPolicyVersion != null) message.requestedPolicyVersion = object.requestedPolicyVersion | 0; @@ -162468,7 +168880,7 @@ this.auditConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -162565,9 +168977,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Policy.decode = function decode(reader, length, error) { + Policy.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.Policy(); while (reader.pos < end) { var tag = reader.uint32(); @@ -162581,13 +168997,13 @@ case 4: { if (!(message.bindings && message.bindings.length)) message.bindings = []; - message.bindings.push($root.google.iam.v1.Binding.decode(reader, reader.uint32())); + message.bindings.push($root.google.iam.v1.Binding.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.auditConfigs && message.auditConfigs.length)) message.auditConfigs = []; - message.auditConfigs.push($root.google.iam.v1.AuditConfig.decode(reader, reader.uint32())); + message.auditConfigs.push($root.google.iam.v1.AuditConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -162595,7 +169011,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -162626,9 +169042,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Policy.verify = function verify(message) { + Policy.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isInteger(message.version)) return "version: integer expected"; @@ -162636,7 +169056,7 @@ if (!Array.isArray(message.bindings)) return "bindings: array expected"; for (var i = 0; i < message.bindings.length; ++i) { - var error = $root.google.iam.v1.Binding.verify(message.bindings[i]); + var error = $root.google.iam.v1.Binding.verify(message.bindings[i], long + 1); if (error) return "bindings." + error; } @@ -162645,7 +169065,7 @@ if (!Array.isArray(message.auditConfigs)) return "auditConfigs: array expected"; for (var i = 0; i < message.auditConfigs.length; ++i) { - var error = $root.google.iam.v1.AuditConfig.verify(message.auditConfigs[i]); + var error = $root.google.iam.v1.AuditConfig.verify(message.auditConfigs[i], long + 1); if (error) return "auditConfigs." + error; } @@ -162664,9 +169084,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.Policy} Policy */ - Policy.fromObject = function fromObject(object) { + Policy.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.Policy) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.Policy(); if (object.version != null) message.version = object.version | 0; @@ -162677,7 +169101,7 @@ for (var i = 0; i < object.bindings.length; ++i) { if (typeof object.bindings[i] !== "object") throw TypeError(".google.iam.v1.Policy.bindings: object expected"); - message.bindings[i] = $root.google.iam.v1.Binding.fromObject(object.bindings[i]); + message.bindings[i] = $root.google.iam.v1.Binding.fromObject(object.bindings[i], long + 1); } } if (object.auditConfigs) { @@ -162687,7 +169111,7 @@ for (var i = 0; i < object.auditConfigs.length; ++i) { if (typeof object.auditConfigs[i] !== "object") throw TypeError(".google.iam.v1.Policy.auditConfigs: object expected"); - message.auditConfigs[i] = $root.google.iam.v1.AuditConfig.fromObject(object.auditConfigs[i]); + message.auditConfigs[i] = $root.google.iam.v1.AuditConfig.fromObject(object.auditConfigs[i], long + 1); } } if (object.etag != null) @@ -162794,7 +169218,7 @@ this.members = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -162880,9 +169304,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Binding.decode = function decode(reader, length, error) { + Binding.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.Binding(); while (reader.pos < end) { var tag = reader.uint32(); @@ -162900,11 +169328,11 @@ break; } case 3: { - message.condition = $root.google.type.Expr.decode(reader, reader.uint32()); + message.condition = $root.google.type.Expr.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -162935,9 +169363,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Binding.verify = function verify(message) { + Binding.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.role != null && message.hasOwnProperty("role")) if (!$util.isString(message.role)) return "role: string expected"; @@ -162949,7 +169381,7 @@ return "members: string[] expected"; } if (message.condition != null && message.hasOwnProperty("condition")) { - var error = $root.google.type.Expr.verify(message.condition); + var error = $root.google.type.Expr.verify(message.condition, long + 1); if (error) return "condition." + error; } @@ -162964,9 +169396,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.Binding} Binding */ - Binding.fromObject = function fromObject(object) { + Binding.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.Binding) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.Binding(); if (object.role != null) message.role = String(object.role); @@ -162980,7 +169416,7 @@ if (object.condition != null) { if (typeof object.condition !== "object") throw TypeError(".google.iam.v1.Binding.condition: object expected"); - message.condition = $root.google.type.Expr.fromObject(object.condition); + message.condition = $root.google.type.Expr.fromObject(object.condition, long + 1); } return message; }; @@ -163067,7 +169503,7 @@ this.auditLogConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -163143,9 +169579,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuditConfig.decode = function decode(reader, length, error) { + AuditConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.AuditConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -163159,11 +169599,11 @@ case 3: { if (!(message.auditLogConfigs && message.auditLogConfigs.length)) message.auditLogConfigs = []; - message.auditLogConfigs.push($root.google.iam.v1.AuditLogConfig.decode(reader, reader.uint32())); + message.auditLogConfigs.push($root.google.iam.v1.AuditLogConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -163194,9 +169634,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AuditConfig.verify = function verify(message) { + AuditConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.service != null && message.hasOwnProperty("service")) if (!$util.isString(message.service)) return "service: string expected"; @@ -163204,7 +169648,7 @@ if (!Array.isArray(message.auditLogConfigs)) return "auditLogConfigs: array expected"; for (var i = 0; i < message.auditLogConfigs.length; ++i) { - var error = $root.google.iam.v1.AuditLogConfig.verify(message.auditLogConfigs[i]); + var error = $root.google.iam.v1.AuditLogConfig.verify(message.auditLogConfigs[i], long + 1); if (error) return "auditLogConfigs." + error; } @@ -163220,9 +169664,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.AuditConfig} AuditConfig */ - AuditConfig.fromObject = function fromObject(object) { + AuditConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.AuditConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.AuditConfig(); if (object.service != null) message.service = String(object.service); @@ -163233,7 +169681,7 @@ for (var i = 0; i < object.auditLogConfigs.length; ++i) { if (typeof object.auditLogConfigs[i] !== "object") throw TypeError(".google.iam.v1.AuditConfig.auditLogConfigs: object expected"); - message.auditLogConfigs[i] = $root.google.iam.v1.AuditLogConfig.fromObject(object.auditLogConfigs[i]); + message.auditLogConfigs[i] = $root.google.iam.v1.AuditLogConfig.fromObject(object.auditLogConfigs[i], long + 1); } } return message; @@ -163317,7 +169765,7 @@ this.exemptedMembers = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -163393,9 +169841,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuditLogConfig.decode = function decode(reader, length, error) { + AuditLogConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.AuditLogConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -163413,7 +169865,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -163444,9 +169896,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AuditLogConfig.verify = function verify(message) { + AuditLogConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.logType != null && message.hasOwnProperty("logType")) switch (message.logType) { default: @@ -163475,9 +169931,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.AuditLogConfig} AuditLogConfig */ - AuditLogConfig.fromObject = function fromObject(object) { + AuditLogConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.AuditLogConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.AuditLogConfig(); switch (object.logType) { default: @@ -163610,7 +170070,7 @@ this.auditConfigDeltas = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -163687,9 +170147,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyDelta.decode = function decode(reader, length, error) { + PolicyDelta.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.PolicyDelta(); while (reader.pos < end) { var tag = reader.uint32(); @@ -163699,17 +170163,17 @@ case 1: { if (!(message.bindingDeltas && message.bindingDeltas.length)) message.bindingDeltas = []; - message.bindingDeltas.push($root.google.iam.v1.BindingDelta.decode(reader, reader.uint32())); + message.bindingDeltas.push($root.google.iam.v1.BindingDelta.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.auditConfigDeltas && message.auditConfigDeltas.length)) message.auditConfigDeltas = []; - message.auditConfigDeltas.push($root.google.iam.v1.AuditConfigDelta.decode(reader, reader.uint32())); + message.auditConfigDeltas.push($root.google.iam.v1.AuditConfigDelta.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -163740,14 +170204,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PolicyDelta.verify = function verify(message) { + PolicyDelta.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bindingDeltas != null && message.hasOwnProperty("bindingDeltas")) { if (!Array.isArray(message.bindingDeltas)) return "bindingDeltas: array expected"; for (var i = 0; i < message.bindingDeltas.length; ++i) { - var error = $root.google.iam.v1.BindingDelta.verify(message.bindingDeltas[i]); + var error = $root.google.iam.v1.BindingDelta.verify(message.bindingDeltas[i], long + 1); if (error) return "bindingDeltas." + error; } @@ -163756,7 +170224,7 @@ if (!Array.isArray(message.auditConfigDeltas)) return "auditConfigDeltas: array expected"; for (var i = 0; i < message.auditConfigDeltas.length; ++i) { - var error = $root.google.iam.v1.AuditConfigDelta.verify(message.auditConfigDeltas[i]); + var error = $root.google.iam.v1.AuditConfigDelta.verify(message.auditConfigDeltas[i], long + 1); if (error) return "auditConfigDeltas." + error; } @@ -163772,9 +170240,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.PolicyDelta} PolicyDelta */ - PolicyDelta.fromObject = function fromObject(object) { + PolicyDelta.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.PolicyDelta) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.PolicyDelta(); if (object.bindingDeltas) { if (!Array.isArray(object.bindingDeltas)) @@ -163783,7 +170255,7 @@ for (var i = 0; i < object.bindingDeltas.length; ++i) { if (typeof object.bindingDeltas[i] !== "object") throw TypeError(".google.iam.v1.PolicyDelta.bindingDeltas: object expected"); - message.bindingDeltas[i] = $root.google.iam.v1.BindingDelta.fromObject(object.bindingDeltas[i]); + message.bindingDeltas[i] = $root.google.iam.v1.BindingDelta.fromObject(object.bindingDeltas[i], long + 1); } } if (object.auditConfigDeltas) { @@ -163793,7 +170265,7 @@ for (var i = 0; i < object.auditConfigDeltas.length; ++i) { if (typeof object.auditConfigDeltas[i] !== "object") throw TypeError(".google.iam.v1.PolicyDelta.auditConfigDeltas: object expected"); - message.auditConfigDeltas[i] = $root.google.iam.v1.AuditConfigDelta.fromObject(object.auditConfigDeltas[i]); + message.auditConfigDeltas[i] = $root.google.iam.v1.AuditConfigDelta.fromObject(object.auditConfigDeltas[i], long + 1); } } return message; @@ -163881,7 +170353,7 @@ function BindingDelta(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -163976,9 +170448,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BindingDelta.decode = function decode(reader, length, error) { + BindingDelta.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.BindingDelta(); while (reader.pos < end) { var tag = reader.uint32(); @@ -163998,11 +170474,11 @@ break; } case 4: { - message.condition = $root.google.type.Expr.decode(reader, reader.uint32()); + message.condition = $root.google.type.Expr.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -164033,9 +170509,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BindingDelta.verify = function verify(message) { + BindingDelta.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.action != null && message.hasOwnProperty("action")) switch (message.action) { default: @@ -164052,7 +170532,7 @@ if (!$util.isString(message.member)) return "member: string expected"; if (message.condition != null && message.hasOwnProperty("condition")) { - var error = $root.google.type.Expr.verify(message.condition); + var error = $root.google.type.Expr.verify(message.condition, long + 1); if (error) return "condition." + error; } @@ -164067,9 +170547,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.BindingDelta} BindingDelta */ - BindingDelta.fromObject = function fromObject(object) { + BindingDelta.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.BindingDelta) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.BindingDelta(); switch (object.action) { default: @@ -164098,7 +170582,7 @@ if (object.condition != null) { if (typeof object.condition !== "object") throw TypeError(".google.iam.v1.BindingDelta.condition: object expected"); - message.condition = $root.google.type.Expr.fromObject(object.condition); + message.condition = $root.google.type.Expr.fromObject(object.condition, long + 1); } return message; }; @@ -164201,7 +170685,7 @@ function AuditConfigDelta(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -164296,9 +170780,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuditConfigDelta.decode = function decode(reader, length, error) { + AuditConfigDelta.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.AuditConfigDelta(); while (reader.pos < end) { var tag = reader.uint32(); @@ -164322,7 +170810,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -164353,9 +170841,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AuditConfigDelta.verify = function verify(message) { + AuditConfigDelta.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.action != null && message.hasOwnProperty("action")) switch (message.action) { default: @@ -164385,9 +170877,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.AuditConfigDelta} AuditConfigDelta */ - AuditConfigDelta.fromObject = function fromObject(object) { + AuditConfigDelta.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.AuditConfigDelta) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.AuditConfigDelta(); switch (object.action) { default: @@ -164732,7 +171228,7 @@ function Operation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -164851,9 +171347,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Operation.decode = function decode(reader, length, error) { + Operation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.Operation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -164865,7 +171365,7 @@ break; } case 2: { - message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32()); + message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -164873,15 +171373,15 @@ break; } case 4: { - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + message.error = $root.google.rpc.Status.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.response = $root.google.protobuf.Any.decode(reader, reader.uint32()); + message.response = $root.google.protobuf.Any.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -164912,15 +171412,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Operation.verify = function verify(message) { + Operation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.google.protobuf.Any.verify(message.metadata); + var error = $root.google.protobuf.Any.verify(message.metadata, long + 1); if (error) return "metadata." + error; } @@ -164930,7 +171434,7 @@ if (message.error != null && message.hasOwnProperty("error")) { properties.result = 1; { - var error = $root.google.rpc.Status.verify(message.error); + var error = $root.google.rpc.Status.verify(message.error, long + 1); if (error) return "error." + error; } @@ -164940,7 +171444,7 @@ return "result: multiple values"; properties.result = 1; { - var error = $root.google.protobuf.Any.verify(message.response); + var error = $root.google.protobuf.Any.verify(message.response, long + 1); if (error) return "response." + error; } @@ -164956,28 +171460,32 @@ * @param {Object.} object Plain object * @returns {google.longrunning.Operation} Operation */ - Operation.fromObject = function fromObject(object) { + Operation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.Operation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.Operation(); if (object.name != null) message.name = String(object.name); if (object.metadata != null) { if (typeof object.metadata !== "object") throw TypeError(".google.longrunning.Operation.metadata: object expected"); - message.metadata = $root.google.protobuf.Any.fromObject(object.metadata); + message.metadata = $root.google.protobuf.Any.fromObject(object.metadata, long + 1); } if (object.done != null) message.done = Boolean(object.done); if (object.error != null) { if (typeof object.error !== "object") throw TypeError(".google.longrunning.Operation.error: object expected"); - message.error = $root.google.rpc.Status.fromObject(object.error); + message.error = $root.google.rpc.Status.fromObject(object.error, long + 1); } if (object.response != null) { if (typeof object.response !== "object") throw TypeError(".google.longrunning.Operation.response: object expected"); - message.response = $root.google.protobuf.Any.fromObject(object.response); + message.response = $root.google.protobuf.Any.fromObject(object.response, long + 1); } return message; }; @@ -165068,7 +171576,7 @@ function GetOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -165133,9 +171641,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetOperationRequest.decode = function decode(reader, length, error) { + GetOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.GetOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -165147,7 +171659,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -165178,9 +171690,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetOperationRequest.verify = function verify(message) { + GetOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -165195,9 +171711,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.GetOperationRequest} GetOperationRequest */ - GetOperationRequest.fromObject = function fromObject(object) { + GetOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.GetOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.GetOperationRequest(); if (object.name != null) message.name = String(object.name); @@ -165276,7 +171796,7 @@ function ListOperationsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -165371,9 +171891,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListOperationsRequest.decode = function decode(reader, length, error) { + ListOperationsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.ListOperationsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -165397,7 +171921,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -165428,9 +171952,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListOperationsRequest.verify = function verify(message) { + ListOperationsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -165454,9 +171982,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.ListOperationsRequest} ListOperationsRequest */ - ListOperationsRequest.fromObject = function fromObject(object) { + ListOperationsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.ListOperationsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.ListOperationsRequest(); if (object.name != null) message.name = String(object.name); @@ -165550,7 +172082,7 @@ this.operations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -165626,9 +172158,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListOperationsResponse.decode = function decode(reader, length, error) { + ListOperationsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.ListOperationsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -165638,7 +172174,7 @@ case 1: { if (!(message.operations && message.operations.length)) message.operations = []; - message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); + message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -165646,7 +172182,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -165677,14 +172213,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListOperationsResponse.verify = function verify(message) { + ListOperationsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.operations != null && message.hasOwnProperty("operations")) { if (!Array.isArray(message.operations)) return "operations: array expected"; for (var i = 0; i < message.operations.length; ++i) { - var error = $root.google.longrunning.Operation.verify(message.operations[i]); + var error = $root.google.longrunning.Operation.verify(message.operations[i], long + 1); if (error) return "operations." + error; } @@ -165703,9 +172243,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.ListOperationsResponse} ListOperationsResponse */ - ListOperationsResponse.fromObject = function fromObject(object) { + ListOperationsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.ListOperationsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.ListOperationsResponse(); if (object.operations) { if (!Array.isArray(object.operations)) @@ -165714,7 +172258,7 @@ for (var i = 0; i < object.operations.length; ++i) { if (typeof object.operations[i] !== "object") throw TypeError(".google.longrunning.ListOperationsResponse.operations: object expected"); - message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i]); + message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i], long + 1); } } if (object.nextPageToken != null) @@ -165798,7 +172342,7 @@ function CancelOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -165863,9 +172407,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CancelOperationRequest.decode = function decode(reader, length, error) { + CancelOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.CancelOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -165877,7 +172425,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -165908,9 +172456,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CancelOperationRequest.verify = function verify(message) { + CancelOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -165925,9 +172477,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.CancelOperationRequest} CancelOperationRequest */ - CancelOperationRequest.fromObject = function fromObject(object) { + CancelOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.CancelOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.CancelOperationRequest(); if (object.name != null) message.name = String(object.name); @@ -166003,7 +172559,7 @@ function DeleteOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -166068,9 +172624,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteOperationRequest.decode = function decode(reader, length, error) { + DeleteOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.DeleteOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -166082,7 +172642,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -166113,9 +172673,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteOperationRequest.verify = function verify(message) { + DeleteOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -166130,9 +172694,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.DeleteOperationRequest} DeleteOperationRequest */ - DeleteOperationRequest.fromObject = function fromObject(object) { + DeleteOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.DeleteOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.DeleteOperationRequest(); if (object.name != null) message.name = String(object.name); @@ -166209,7 +172777,7 @@ function WaitOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -166284,9 +172852,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WaitOperationRequest.decode = function decode(reader, length, error) { + WaitOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.WaitOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -166298,11 +172870,11 @@ break; } case 2: { - message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -166333,14 +172905,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - WaitOperationRequest.verify = function verify(message) { + WaitOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.timeout != null && message.hasOwnProperty("timeout")) { - var error = $root.google.protobuf.Duration.verify(message.timeout); + var error = $root.google.protobuf.Duration.verify(message.timeout, long + 1); if (error) return "timeout." + error; } @@ -166355,16 +172931,20 @@ * @param {Object.} object Plain object * @returns {google.longrunning.WaitOperationRequest} WaitOperationRequest */ - WaitOperationRequest.fromObject = function fromObject(object) { + WaitOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.WaitOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.WaitOperationRequest(); if (object.name != null) message.name = String(object.name); if (object.timeout != null) { if (typeof object.timeout !== "object") throw TypeError(".google.longrunning.WaitOperationRequest.timeout: object expected"); - message.timeout = $root.google.protobuf.Duration.fromObject(object.timeout); + message.timeout = $root.google.protobuf.Duration.fromObject(object.timeout, long + 1); } return message; }; @@ -166443,7 +173023,7 @@ function OperationInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -166518,9 +173098,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationInfo.decode = function decode(reader, length, error) { + OperationInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.OperationInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -166536,7 +173120,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -166567,9 +173151,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OperationInfo.verify = function verify(message) { + OperationInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.responseType != null && message.hasOwnProperty("responseType")) if (!$util.isString(message.responseType)) return "responseType: string expected"; @@ -166587,9 +173175,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.OperationInfo} OperationInfo */ - OperationInfo.fromObject = function fromObject(object) { + OperationInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.OperationInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.OperationInfo(); if (object.responseType != null) message.responseType = String(object.responseType); @@ -166686,7 +173278,7 @@ this.details = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -166772,9 +173364,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Status.decode = function decode(reader, length, error) { + Status.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.Status(); while (reader.pos < end) { var tag = reader.uint32(); @@ -166792,11 +173388,11 @@ case 3: { if (!(message.details && message.details.length)) message.details = []; - message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32())); + message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -166827,9 +173423,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Status.verify = function verify(message) { + Status.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.code != null && message.hasOwnProperty("code")) if (!$util.isInteger(message.code)) return "code: integer expected"; @@ -166840,7 +173440,7 @@ if (!Array.isArray(message.details)) return "details: array expected"; for (var i = 0; i < message.details.length; ++i) { - var error = $root.google.protobuf.Any.verify(message.details[i]); + var error = $root.google.protobuf.Any.verify(message.details[i], long + 1); if (error) return "details." + error; } @@ -166856,9 +173456,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.Status} Status */ - Status.fromObject = function fromObject(object) { + Status.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.Status) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.Status(); if (object.code != null) message.code = object.code | 0; @@ -166871,7 +173475,7 @@ for (var i = 0; i < object.details.length; ++i) { if (typeof object.details[i] !== "object") throw TypeError(".google.rpc.Status.details: object expected"); - message.details[i] = $root.google.protobuf.Any.fromObject(object.details[i]); + message.details[i] = $root.google.protobuf.Any.fromObject(object.details[i], long + 1); } } return message; diff --git a/packages/google-cloud-securitycentermanagement/README.md b/packages/google-cloud-securitycentermanagement/README.md index f419bcf37bbb..e8342e17b8b9 100644 --- a/packages/google-cloud-securitycentermanagement/README.md +++ b/packages/google-cloud-securitycentermanagement/README.md @@ -79,7 +79,6 @@ Samples are in the [`samples/`][homepage_samples] directory. Each sample's `READ | update security center service | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycentermanagement/samples/generated/v1/security_center_management.update_security_center_service.js) | | update security health analytics custom module | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycentermanagement/samples/generated/v1/security_center_management.update_security_health_analytics_custom_module.js) | | validate event threat detection custom module | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycentermanagement/samples/generated/v1/security_center_management.validate_event_threat_detection_custom_module.js) | -| cloud | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-securitycentermanagement/samples/generated/v1/snippet_metadata_google.cloud.securitycentermanagement.v1.json) | ## Supported Node.js Versions diff --git a/packages/google-cloud-securitycentermanagement/protos/protos.js b/packages/google-cloud-securitycentermanagement/protos/protos.js index e655235289d7..30e5121c37b4 100644 --- a/packages/google-cloud-securitycentermanagement/protos/protos.js +++ b/packages/google-cloud-securitycentermanagement/protos/protos.js @@ -820,7 +820,7 @@ this.modules = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -938,9 +938,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityCenterService.decode = function decode(reader, length, error) { + SecurityCenterService.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.SecurityCenterService(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -972,26 +976,28 @@ key = reader.string(); break; case 2: - value = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.ModuleSettings.decode(reader, reader.uint32()); + value = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.ModuleSettings.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.modules, key); message.modules[key] = value; break; } case 5: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.serviceConfig = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + message.serviceConfig = $root.google.protobuf.Struct.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1022,9 +1028,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityCenterService.verify = function verify(message) { + SecurityCenterService.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -1055,18 +1065,18 @@ return "modules: object expected"; var key = Object.keys(message.modules); for (var i = 0; i < key.length; ++i) { - var error = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.ModuleSettings.verify(message.modules[key[i]]); + var error = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.ModuleSettings.verify(message.modules[key[i]], long + 1); if (error) return "modules." + error; } } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } if (message.serviceConfig != null && message.hasOwnProperty("serviceConfig")) { - var error = $root.google.protobuf.Struct.verify(message.serviceConfig); + var error = $root.google.protobuf.Struct.verify(message.serviceConfig, long + 1); if (error) return "serviceConfig." + error; } @@ -1081,9 +1091,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.SecurityCenterService} SecurityCenterService */ - SecurityCenterService.fromObject = function fromObject(object) { + SecurityCenterService.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.SecurityCenterService) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.SecurityCenterService(); if (object.name != null) message.name = String(object.name); @@ -1148,20 +1162,22 @@ throw TypeError(".google.cloud.securitycentermanagement.v1.SecurityCenterService.modules: object expected"); message.modules = {}; for (var keys = Object.keys(object.modules), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.modules, keys[i]); if (typeof object.modules[keys[i]] !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.SecurityCenterService.modules: object expected"); - message.modules[keys[i]] = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.ModuleSettings.fromObject(object.modules[keys[i]]); + message.modules[keys[i]] = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.ModuleSettings.fromObject(object.modules[keys[i]], long + 1); } } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.SecurityCenterService.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.serviceConfig != null) { if (typeof object.serviceConfig !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.SecurityCenterService.serviceConfig: object expected"); - message.serviceConfig = $root.google.protobuf.Struct.fromObject(object.serviceConfig); + message.serviceConfig = $root.google.protobuf.Struct.fromObject(object.serviceConfig, long + 1); } return message; }; @@ -1197,8 +1213,11 @@ var keys2; if (message.modules && (keys2 = Object.keys(message.modules)).length) { object.modules = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.modules, keys2[j]); object.modules[keys2[j]] = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.ModuleSettings.toObject(message.modules[keys2[j]], options); + } } if (message.updateTime != null && message.hasOwnProperty("updateTime")) object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); @@ -1254,7 +1273,7 @@ function ModuleSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1329,9 +1348,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ModuleSettings.decode = function decode(reader, length, error) { + ModuleSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.ModuleSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -1347,7 +1370,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1378,9 +1401,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ModuleSettings.verify = function verify(message) { + ModuleSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.intendedEnablementState != null && message.hasOwnProperty("intendedEnablementState")) switch (message.intendedEnablementState) { default: @@ -1414,9 +1441,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.SecurityCenterService.ModuleSettings} ModuleSettings */ - ModuleSettings.fromObject = function fromObject(object) { + ModuleSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.ModuleSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.ModuleSettings(); switch (object.intendedEnablementState) { default: @@ -1576,7 +1607,7 @@ function EffectiveSecurityHealthAnalyticsCustomModule(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1671,9 +1702,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EffectiveSecurityHealthAnalyticsCustomModule.decode = function decode(reader, length, error) { + EffectiveSecurityHealthAnalyticsCustomModule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.EffectiveSecurityHealthAnalyticsCustomModule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -1685,7 +1720,7 @@ break; } case 2: { - message.customConfig = $root.google.cloud.securitycentermanagement.v1.CustomConfig.decode(reader, reader.uint32()); + message.customConfig = $root.google.cloud.securitycentermanagement.v1.CustomConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -1697,7 +1732,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1728,14 +1763,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EffectiveSecurityHealthAnalyticsCustomModule.verify = function verify(message) { + EffectiveSecurityHealthAnalyticsCustomModule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.customConfig != null && message.hasOwnProperty("customConfig")) { - var error = $root.google.cloud.securitycentermanagement.v1.CustomConfig.verify(message.customConfig); + var error = $root.google.cloud.securitycentermanagement.v1.CustomConfig.verify(message.customConfig, long + 1); if (error) return "customConfig." + error; } @@ -1762,16 +1801,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.EffectiveSecurityHealthAnalyticsCustomModule} EffectiveSecurityHealthAnalyticsCustomModule */ - EffectiveSecurityHealthAnalyticsCustomModule.fromObject = function fromObject(object) { + EffectiveSecurityHealthAnalyticsCustomModule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.EffectiveSecurityHealthAnalyticsCustomModule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.EffectiveSecurityHealthAnalyticsCustomModule(); if (object.name != null) message.name = String(object.name); if (object.customConfig != null) { if (typeof object.customConfig !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.EffectiveSecurityHealthAnalyticsCustomModule.customConfig: object expected"); - message.customConfig = $root.google.cloud.securitycentermanagement.v1.CustomConfig.fromObject(object.customConfig); + message.customConfig = $root.google.cloud.securitycentermanagement.v1.CustomConfig.fromObject(object.customConfig, long + 1); } switch (object.enablementState) { default: @@ -1895,7 +1938,7 @@ function ListEffectiveSecurityHealthAnalyticsCustomModulesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1980,9 +2023,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEffectiveSecurityHealthAnalyticsCustomModulesRequest.decode = function decode(reader, length, error) { + ListEffectiveSecurityHealthAnalyticsCustomModulesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2002,7 +2049,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2033,9 +2080,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEffectiveSecurityHealthAnalyticsCustomModulesRequest.verify = function verify(message) { + ListEffectiveSecurityHealthAnalyticsCustomModulesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -2056,9 +2107,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesRequest} ListEffectiveSecurityHealthAnalyticsCustomModulesRequest */ - ListEffectiveSecurityHealthAnalyticsCustomModulesRequest.fromObject = function fromObject(object) { + ListEffectiveSecurityHealthAnalyticsCustomModulesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -2147,7 +2202,7 @@ this.effectiveSecurityHealthAnalyticsCustomModules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2223,9 +2278,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEffectiveSecurityHealthAnalyticsCustomModulesResponse.decode = function decode(reader, length, error) { + ListEffectiveSecurityHealthAnalyticsCustomModulesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2235,7 +2294,7 @@ case 1: { if (!(message.effectiveSecurityHealthAnalyticsCustomModules && message.effectiveSecurityHealthAnalyticsCustomModules.length)) message.effectiveSecurityHealthAnalyticsCustomModules = []; - message.effectiveSecurityHealthAnalyticsCustomModules.push($root.google.cloud.securitycentermanagement.v1.EffectiveSecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32())); + message.effectiveSecurityHealthAnalyticsCustomModules.push($root.google.cloud.securitycentermanagement.v1.EffectiveSecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -2243,7 +2302,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2274,14 +2333,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEffectiveSecurityHealthAnalyticsCustomModulesResponse.verify = function verify(message) { + ListEffectiveSecurityHealthAnalyticsCustomModulesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.effectiveSecurityHealthAnalyticsCustomModules != null && message.hasOwnProperty("effectiveSecurityHealthAnalyticsCustomModules")) { if (!Array.isArray(message.effectiveSecurityHealthAnalyticsCustomModules)) return "effectiveSecurityHealthAnalyticsCustomModules: array expected"; for (var i = 0; i < message.effectiveSecurityHealthAnalyticsCustomModules.length; ++i) { - var error = $root.google.cloud.securitycentermanagement.v1.EffectiveSecurityHealthAnalyticsCustomModule.verify(message.effectiveSecurityHealthAnalyticsCustomModules[i]); + var error = $root.google.cloud.securitycentermanagement.v1.EffectiveSecurityHealthAnalyticsCustomModule.verify(message.effectiveSecurityHealthAnalyticsCustomModules[i], long + 1); if (error) return "effectiveSecurityHealthAnalyticsCustomModules." + error; } @@ -2300,9 +2363,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesResponse} ListEffectiveSecurityHealthAnalyticsCustomModulesResponse */ - ListEffectiveSecurityHealthAnalyticsCustomModulesResponse.fromObject = function fromObject(object) { + ListEffectiveSecurityHealthAnalyticsCustomModulesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesResponse(); if (object.effectiveSecurityHealthAnalyticsCustomModules) { if (!Array.isArray(object.effectiveSecurityHealthAnalyticsCustomModules)) @@ -2311,7 +2378,7 @@ for (var i = 0; i < object.effectiveSecurityHealthAnalyticsCustomModules.length; ++i) { if (typeof object.effectiveSecurityHealthAnalyticsCustomModules[i] !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.ListEffectiveSecurityHealthAnalyticsCustomModulesResponse.effectiveSecurityHealthAnalyticsCustomModules: object expected"); - message.effectiveSecurityHealthAnalyticsCustomModules[i] = $root.google.cloud.securitycentermanagement.v1.EffectiveSecurityHealthAnalyticsCustomModule.fromObject(object.effectiveSecurityHealthAnalyticsCustomModules[i]); + message.effectiveSecurityHealthAnalyticsCustomModules[i] = $root.google.cloud.securitycentermanagement.v1.EffectiveSecurityHealthAnalyticsCustomModule.fromObject(object.effectiveSecurityHealthAnalyticsCustomModules[i], long + 1); } } if (object.nextPageToken != null) @@ -2395,7 +2462,7 @@ function GetEffectiveSecurityHealthAnalyticsCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2460,9 +2527,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetEffectiveSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error) { + GetEffectiveSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.GetEffectiveSecurityHealthAnalyticsCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2474,7 +2545,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2505,9 +2576,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetEffectiveSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message) { + GetEffectiveSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -2522,9 +2597,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.GetEffectiveSecurityHealthAnalyticsCustomModuleRequest} GetEffectiveSecurityHealthAnalyticsCustomModuleRequest */ - GetEffectiveSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object) { + GetEffectiveSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.GetEffectiveSecurityHealthAnalyticsCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.GetEffectiveSecurityHealthAnalyticsCustomModuleRequest(); if (object.name != null) message.name = String(object.name); @@ -2606,7 +2685,7 @@ function SecurityHealthAnalyticsCustomModule(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2731,9 +2810,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SecurityHealthAnalyticsCustomModule.decode = function decode(reader, length, error) { + SecurityHealthAnalyticsCustomModule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2753,7 +2836,7 @@ break; } case 4: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -2765,11 +2848,11 @@ break; } case 7: { - message.customConfig = $root.google.cloud.securitycentermanagement.v1.CustomConfig.decode(reader, reader.uint32()); + message.customConfig = $root.google.cloud.securitycentermanagement.v1.CustomConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2800,9 +2883,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SecurityHealthAnalyticsCustomModule.verify = function verify(message) { + SecurityHealthAnalyticsCustomModule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -2820,7 +2907,7 @@ break; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -2831,7 +2918,7 @@ if (!$util.isString(message.ancestorModule)) return "ancestorModule: string expected"; if (message.customConfig != null && message.hasOwnProperty("customConfig")) { - var error = $root.google.cloud.securitycentermanagement.v1.CustomConfig.verify(message.customConfig); + var error = $root.google.cloud.securitycentermanagement.v1.CustomConfig.verify(message.customConfig, long + 1); if (error) return "customConfig." + error; } @@ -2846,9 +2933,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule} SecurityHealthAnalyticsCustomModule */ - SecurityHealthAnalyticsCustomModule.fromObject = function fromObject(object) { + SecurityHealthAnalyticsCustomModule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule(); if (object.name != null) message.name = String(object.name); @@ -2881,7 +2972,7 @@ if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.lastEditor != null) message.lastEditor = String(object.lastEditor); @@ -2890,7 +2981,7 @@ if (object.customConfig != null) { if (typeof object.customConfig !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.customConfig: object expected"); - message.customConfig = $root.google.cloud.securitycentermanagement.v1.CustomConfig.fromObject(object.customConfig); + message.customConfig = $root.google.cloud.securitycentermanagement.v1.CustomConfig.fromObject(object.customConfig, long + 1); } return message; }; @@ -3006,7 +3097,7 @@ function CustomConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3121,9 +3212,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomConfig.decode = function decode(reader, length, error) { + CustomConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.CustomConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3131,15 +3226,15 @@ break; switch (tag >>> 3) { case 1: { - message.predicate = $root.google.type.Expr.decode(reader, reader.uint32()); + message.predicate = $root.google.type.Expr.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.customOutput = $root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.decode(reader, reader.uint32()); + message.customOutput = $root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.resourceSelector = $root.google.cloud.securitycentermanagement.v1.CustomConfig.ResourceSelector.decode(reader, reader.uint32()); + message.resourceSelector = $root.google.cloud.securitycentermanagement.v1.CustomConfig.ResourceSelector.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -3155,7 +3250,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3186,21 +3281,25 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CustomConfig.verify = function verify(message) { + CustomConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.predicate != null && message.hasOwnProperty("predicate")) { - var error = $root.google.type.Expr.verify(message.predicate); + var error = $root.google.type.Expr.verify(message.predicate, long + 1); if (error) return "predicate." + error; } if (message.customOutput != null && message.hasOwnProperty("customOutput")) { - var error = $root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.verify(message.customOutput); + var error = $root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.verify(message.customOutput, long + 1); if (error) return "customOutput." + error; } if (message.resourceSelector != null && message.hasOwnProperty("resourceSelector")) { - var error = $root.google.cloud.securitycentermanagement.v1.CustomConfig.ResourceSelector.verify(message.resourceSelector); + var error = $root.google.cloud.securitycentermanagement.v1.CustomConfig.ResourceSelector.verify(message.resourceSelector, long + 1); if (error) return "resourceSelector." + error; } @@ -3232,24 +3331,28 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.CustomConfig} CustomConfig */ - CustomConfig.fromObject = function fromObject(object) { + CustomConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.CustomConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.CustomConfig(); if (object.predicate != null) { if (typeof object.predicate !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.CustomConfig.predicate: object expected"); - message.predicate = $root.google.type.Expr.fromObject(object.predicate); + message.predicate = $root.google.type.Expr.fromObject(object.predicate, long + 1); } if (object.customOutput != null) { if (typeof object.customOutput !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.CustomConfig.customOutput: object expected"); - message.customOutput = $root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.fromObject(object.customOutput); + message.customOutput = $root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.fromObject(object.customOutput, long + 1); } if (object.resourceSelector != null) { if (typeof object.resourceSelector !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.CustomConfig.resourceSelector: object expected"); - message.resourceSelector = $root.google.cloud.securitycentermanagement.v1.CustomConfig.ResourceSelector.fromObject(object.resourceSelector); + message.resourceSelector = $root.google.cloud.securitycentermanagement.v1.CustomConfig.ResourceSelector.fromObject(object.resourceSelector, long + 1); } switch (object.severity) { default: @@ -3369,7 +3472,7 @@ this.properties = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3435,9 +3538,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomOutputSpec.decode = function decode(reader, length, error) { + CustomOutputSpec.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3447,11 +3554,11 @@ case 1: { if (!(message.properties && message.properties.length)) message.properties = []; - message.properties.push($root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.Property.decode(reader, reader.uint32())); + message.properties.push($root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.Property.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3482,14 +3589,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CustomOutputSpec.verify = function verify(message) { + CustomOutputSpec.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.properties != null && message.hasOwnProperty("properties")) { if (!Array.isArray(message.properties)) return "properties: array expected"; for (var i = 0; i < message.properties.length; ++i) { - var error = $root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.Property.verify(message.properties[i]); + var error = $root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.Property.verify(message.properties[i], long + 1); if (error) return "properties." + error; } @@ -3505,9 +3616,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec} CustomOutputSpec */ - CustomOutputSpec.fromObject = function fromObject(object) { + CustomOutputSpec.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec(); if (object.properties) { if (!Array.isArray(object.properties)) @@ -3516,7 +3631,7 @@ for (var i = 0; i < object.properties.length; ++i) { if (typeof object.properties[i] !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.properties: object expected"); - message.properties[i] = $root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.Property.fromObject(object.properties[i]); + message.properties[i] = $root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.Property.fromObject(object.properties[i], long + 1); } } return message; @@ -3592,7 +3707,7 @@ function Property(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3667,9 +3782,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Property.decode = function decode(reader, length, error) { + Property.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.Property(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3681,11 +3800,11 @@ break; } case 2: { - message.valueExpression = $root.google.type.Expr.decode(reader, reader.uint32()); + message.valueExpression = $root.google.type.Expr.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3716,14 +3835,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Property.verify = function verify(message) { + Property.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.valueExpression != null && message.hasOwnProperty("valueExpression")) { - var error = $root.google.type.Expr.verify(message.valueExpression); + var error = $root.google.type.Expr.verify(message.valueExpression, long + 1); if (error) return "valueExpression." + error; } @@ -3738,16 +3861,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.Property} Property */ - Property.fromObject = function fromObject(object) { + Property.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.Property) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.Property(); if (object.name != null) message.name = String(object.name); if (object.valueExpression != null) { if (typeof object.valueExpression !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.CustomConfig.CustomOutputSpec.Property.valueExpression: object expected"); - message.valueExpression = $root.google.type.Expr.fromObject(object.valueExpression); + message.valueExpression = $root.google.type.Expr.fromObject(object.valueExpression, long + 1); } return message; }; @@ -3829,7 +3956,7 @@ this.resourceTypes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3895,9 +4022,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceSelector.decode = function decode(reader, length, error) { + ResourceSelector.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.CustomConfig.ResourceSelector(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3911,7 +4042,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3942,9 +4073,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceSelector.verify = function verify(message) { + ResourceSelector.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceTypes != null && message.hasOwnProperty("resourceTypes")) { if (!Array.isArray(message.resourceTypes)) return "resourceTypes: array expected"; @@ -3963,9 +4098,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.CustomConfig.ResourceSelector} ResourceSelector */ - ResourceSelector.fromObject = function fromObject(object) { + ResourceSelector.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.CustomConfig.ResourceSelector) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.CustomConfig.ResourceSelector(); if (object.resourceTypes) { if (!Array.isArray(object.resourceTypes)) @@ -4074,7 +4213,7 @@ function ListSecurityHealthAnalyticsCustomModulesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4159,9 +4298,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListSecurityHealthAnalyticsCustomModulesRequest.decode = function decode(reader, length, error) { + ListSecurityHealthAnalyticsCustomModulesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ListSecurityHealthAnalyticsCustomModulesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4181,7 +4324,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4212,9 +4355,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListSecurityHealthAnalyticsCustomModulesRequest.verify = function verify(message) { + ListSecurityHealthAnalyticsCustomModulesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -4235,9 +4382,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ListSecurityHealthAnalyticsCustomModulesRequest} ListSecurityHealthAnalyticsCustomModulesRequest */ - ListSecurityHealthAnalyticsCustomModulesRequest.fromObject = function fromObject(object) { + ListSecurityHealthAnalyticsCustomModulesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ListSecurityHealthAnalyticsCustomModulesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ListSecurityHealthAnalyticsCustomModulesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -4326,7 +4477,7 @@ this.securityHealthAnalyticsCustomModules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4402,9 +4553,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListSecurityHealthAnalyticsCustomModulesResponse.decode = function decode(reader, length, error) { + ListSecurityHealthAnalyticsCustomModulesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ListSecurityHealthAnalyticsCustomModulesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4414,7 +4569,7 @@ case 1: { if (!(message.securityHealthAnalyticsCustomModules && message.securityHealthAnalyticsCustomModules.length)) message.securityHealthAnalyticsCustomModules = []; - message.securityHealthAnalyticsCustomModules.push($root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32())); + message.securityHealthAnalyticsCustomModules.push($root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -4422,7 +4577,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4453,14 +4608,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListSecurityHealthAnalyticsCustomModulesResponse.verify = function verify(message) { + ListSecurityHealthAnalyticsCustomModulesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.securityHealthAnalyticsCustomModules != null && message.hasOwnProperty("securityHealthAnalyticsCustomModules")) { if (!Array.isArray(message.securityHealthAnalyticsCustomModules)) return "securityHealthAnalyticsCustomModules: array expected"; for (var i = 0; i < message.securityHealthAnalyticsCustomModules.length; ++i) { - var error = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.verify(message.securityHealthAnalyticsCustomModules[i]); + var error = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.verify(message.securityHealthAnalyticsCustomModules[i], long + 1); if (error) return "securityHealthAnalyticsCustomModules." + error; } @@ -4479,9 +4638,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ListSecurityHealthAnalyticsCustomModulesResponse} ListSecurityHealthAnalyticsCustomModulesResponse */ - ListSecurityHealthAnalyticsCustomModulesResponse.fromObject = function fromObject(object) { + ListSecurityHealthAnalyticsCustomModulesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ListSecurityHealthAnalyticsCustomModulesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ListSecurityHealthAnalyticsCustomModulesResponse(); if (object.securityHealthAnalyticsCustomModules) { if (!Array.isArray(object.securityHealthAnalyticsCustomModules)) @@ -4490,7 +4653,7 @@ for (var i = 0; i < object.securityHealthAnalyticsCustomModules.length; ++i) { if (typeof object.securityHealthAnalyticsCustomModules[i] !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.ListSecurityHealthAnalyticsCustomModulesResponse.securityHealthAnalyticsCustomModules: object expected"); - message.securityHealthAnalyticsCustomModules[i] = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.fromObject(object.securityHealthAnalyticsCustomModules[i]); + message.securityHealthAnalyticsCustomModules[i] = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.fromObject(object.securityHealthAnalyticsCustomModules[i], long + 1); } } if (object.nextPageToken != null) @@ -4576,7 +4739,7 @@ function ListDescendantSecurityHealthAnalyticsCustomModulesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4661,9 +4824,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListDescendantSecurityHealthAnalyticsCustomModulesRequest.decode = function decode(reader, length, error) { + ListDescendantSecurityHealthAnalyticsCustomModulesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ListDescendantSecurityHealthAnalyticsCustomModulesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4683,7 +4850,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4714,9 +4881,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListDescendantSecurityHealthAnalyticsCustomModulesRequest.verify = function verify(message) { + ListDescendantSecurityHealthAnalyticsCustomModulesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -4737,9 +4908,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ListDescendantSecurityHealthAnalyticsCustomModulesRequest} ListDescendantSecurityHealthAnalyticsCustomModulesRequest */ - ListDescendantSecurityHealthAnalyticsCustomModulesRequest.fromObject = function fromObject(object) { + ListDescendantSecurityHealthAnalyticsCustomModulesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ListDescendantSecurityHealthAnalyticsCustomModulesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ListDescendantSecurityHealthAnalyticsCustomModulesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -4828,7 +5003,7 @@ this.securityHealthAnalyticsCustomModules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4904,9 +5079,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListDescendantSecurityHealthAnalyticsCustomModulesResponse.decode = function decode(reader, length, error) { + ListDescendantSecurityHealthAnalyticsCustomModulesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ListDescendantSecurityHealthAnalyticsCustomModulesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4916,7 +5095,7 @@ case 1: { if (!(message.securityHealthAnalyticsCustomModules && message.securityHealthAnalyticsCustomModules.length)) message.securityHealthAnalyticsCustomModules = []; - message.securityHealthAnalyticsCustomModules.push($root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32())); + message.securityHealthAnalyticsCustomModules.push($root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -4924,7 +5103,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4955,14 +5134,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListDescendantSecurityHealthAnalyticsCustomModulesResponse.verify = function verify(message) { + ListDescendantSecurityHealthAnalyticsCustomModulesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.securityHealthAnalyticsCustomModules != null && message.hasOwnProperty("securityHealthAnalyticsCustomModules")) { if (!Array.isArray(message.securityHealthAnalyticsCustomModules)) return "securityHealthAnalyticsCustomModules: array expected"; for (var i = 0; i < message.securityHealthAnalyticsCustomModules.length; ++i) { - var error = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.verify(message.securityHealthAnalyticsCustomModules[i]); + var error = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.verify(message.securityHealthAnalyticsCustomModules[i], long + 1); if (error) return "securityHealthAnalyticsCustomModules." + error; } @@ -4981,9 +5164,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ListDescendantSecurityHealthAnalyticsCustomModulesResponse} ListDescendantSecurityHealthAnalyticsCustomModulesResponse */ - ListDescendantSecurityHealthAnalyticsCustomModulesResponse.fromObject = function fromObject(object) { + ListDescendantSecurityHealthAnalyticsCustomModulesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ListDescendantSecurityHealthAnalyticsCustomModulesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ListDescendantSecurityHealthAnalyticsCustomModulesResponse(); if (object.securityHealthAnalyticsCustomModules) { if (!Array.isArray(object.securityHealthAnalyticsCustomModules)) @@ -4992,7 +5179,7 @@ for (var i = 0; i < object.securityHealthAnalyticsCustomModules.length; ++i) { if (typeof object.securityHealthAnalyticsCustomModules[i] !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.ListDescendantSecurityHealthAnalyticsCustomModulesResponse.securityHealthAnalyticsCustomModules: object expected"); - message.securityHealthAnalyticsCustomModules[i] = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.fromObject(object.securityHealthAnalyticsCustomModules[i]); + message.securityHealthAnalyticsCustomModules[i] = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.fromObject(object.securityHealthAnalyticsCustomModules[i], long + 1); } } if (object.nextPageToken != null) @@ -5076,7 +5263,7 @@ function GetSecurityHealthAnalyticsCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5141,9 +5328,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error) { + GetSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.GetSecurityHealthAnalyticsCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5155,7 +5346,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5186,9 +5377,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message) { + GetSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -5203,9 +5398,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.GetSecurityHealthAnalyticsCustomModuleRequest} GetSecurityHealthAnalyticsCustomModuleRequest */ - GetSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object) { + GetSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.GetSecurityHealthAnalyticsCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.GetSecurityHealthAnalyticsCustomModuleRequest(); if (object.name != null) message.name = String(object.name); @@ -5283,7 +5482,7 @@ function CreateSecurityHealthAnalyticsCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5368,9 +5567,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error) { + CreateSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.CreateSecurityHealthAnalyticsCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5382,7 +5585,7 @@ break; } case 2: { - message.securityHealthAnalyticsCustomModule = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32()); + message.securityHealthAnalyticsCustomModule = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -5390,7 +5593,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5421,14 +5624,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message) { + CreateSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.securityHealthAnalyticsCustomModule != null && message.hasOwnProperty("securityHealthAnalyticsCustomModule")) { - var error = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.verify(message.securityHealthAnalyticsCustomModule); + var error = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.verify(message.securityHealthAnalyticsCustomModule, long + 1); if (error) return "securityHealthAnalyticsCustomModule." + error; } @@ -5446,16 +5653,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.CreateSecurityHealthAnalyticsCustomModuleRequest} CreateSecurityHealthAnalyticsCustomModuleRequest */ - CreateSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object) { + CreateSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.CreateSecurityHealthAnalyticsCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.CreateSecurityHealthAnalyticsCustomModuleRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.securityHealthAnalyticsCustomModule != null) { if (typeof object.securityHealthAnalyticsCustomModule !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.CreateSecurityHealthAnalyticsCustomModuleRequest.securityHealthAnalyticsCustomModule: object expected"); - message.securityHealthAnalyticsCustomModule = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.fromObject(object.securityHealthAnalyticsCustomModule); + message.securityHealthAnalyticsCustomModule = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.fromObject(object.securityHealthAnalyticsCustomModule, long + 1); } if (object.validateOnly != null) message.validateOnly = Boolean(object.validateOnly); @@ -5540,7 +5751,7 @@ function UpdateSecurityHealthAnalyticsCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5625,9 +5836,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error) { + UpdateSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.UpdateSecurityHealthAnalyticsCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5635,11 +5850,11 @@ break; switch (tag >>> 3) { case 1: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.securityHealthAnalyticsCustomModule = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32()); + message.securityHealthAnalyticsCustomModule = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -5647,7 +5862,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5678,16 +5893,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message) { + UpdateSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } if (message.securityHealthAnalyticsCustomModule != null && message.hasOwnProperty("securityHealthAnalyticsCustomModule")) { - var error = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.verify(message.securityHealthAnalyticsCustomModule); + var error = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.verify(message.securityHealthAnalyticsCustomModule, long + 1); if (error) return "securityHealthAnalyticsCustomModule." + error; } @@ -5705,19 +5924,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.UpdateSecurityHealthAnalyticsCustomModuleRequest} UpdateSecurityHealthAnalyticsCustomModuleRequest */ - UpdateSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object) { + UpdateSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.UpdateSecurityHealthAnalyticsCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.UpdateSecurityHealthAnalyticsCustomModuleRequest(); if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.UpdateSecurityHealthAnalyticsCustomModuleRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } if (object.securityHealthAnalyticsCustomModule != null) { if (typeof object.securityHealthAnalyticsCustomModule !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.UpdateSecurityHealthAnalyticsCustomModuleRequest.securityHealthAnalyticsCustomModule: object expected"); - message.securityHealthAnalyticsCustomModule = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.fromObject(object.securityHealthAnalyticsCustomModule); + message.securityHealthAnalyticsCustomModule = $root.google.cloud.securitycentermanagement.v1.SecurityHealthAnalyticsCustomModule.fromObject(object.securityHealthAnalyticsCustomModule, long + 1); } if (object.validateOnly != null) message.validateOnly = Boolean(object.validateOnly); @@ -5801,7 +6024,7 @@ function DeleteSecurityHealthAnalyticsCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5876,9 +6099,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error) { + DeleteSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.DeleteSecurityHealthAnalyticsCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5894,7 +6121,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5925,9 +6152,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message) { + DeleteSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -5945,9 +6176,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.DeleteSecurityHealthAnalyticsCustomModuleRequest} DeleteSecurityHealthAnalyticsCustomModuleRequest */ - DeleteSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object) { + DeleteSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.DeleteSecurityHealthAnalyticsCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.DeleteSecurityHealthAnalyticsCustomModuleRequest(); if (object.name != null) message.name = String(object.name); @@ -6031,7 +6266,7 @@ function SimulateSecurityHealthAnalyticsCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6116,9 +6351,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SimulateSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error) { + SimulateSecurityHealthAnalyticsCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6130,15 +6369,15 @@ break; } case 2: { - message.customConfig = $root.google.cloud.securitycentermanagement.v1.CustomConfig.decode(reader, reader.uint32()); + message.customConfig = $root.google.cloud.securitycentermanagement.v1.CustomConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.resource = $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource.decode(reader, reader.uint32()); + message.resource = $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6169,19 +6408,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SimulateSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message) { + SimulateSecurityHealthAnalyticsCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.customConfig != null && message.hasOwnProperty("customConfig")) { - var error = $root.google.cloud.securitycentermanagement.v1.CustomConfig.verify(message.customConfig); + var error = $root.google.cloud.securitycentermanagement.v1.CustomConfig.verify(message.customConfig, long + 1); if (error) return "customConfig." + error; } if (message.resource != null && message.hasOwnProperty("resource")) { - var error = $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource.verify(message.resource); + var error = $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource.verify(message.resource, long + 1); if (error) return "resource." + error; } @@ -6196,21 +6439,25 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest} SimulateSecurityHealthAnalyticsCustomModuleRequest */ - SimulateSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object) { + SimulateSecurityHealthAnalyticsCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.customConfig != null) { if (typeof object.customConfig !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.customConfig: object expected"); - message.customConfig = $root.google.cloud.securitycentermanagement.v1.CustomConfig.fromObject(object.customConfig); + message.customConfig = $root.google.cloud.securitycentermanagement.v1.CustomConfig.fromObject(object.customConfig, long + 1); } if (object.resource != null) { if (typeof object.resource !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.resource: object expected"); - message.resource = $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource.fromObject(object.resource); + message.resource = $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource.fromObject(object.resource, long + 1); } return message; }; @@ -6290,7 +6537,7 @@ function SimulatedResource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6375,9 +6622,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SimulatedResource.decode = function decode(reader, length, error) { + SimulatedResource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6389,15 +6640,15 @@ break; } case 2: { - message.resourceData = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + message.resourceData = $root.google.protobuf.Struct.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.iamPolicyData = $root.google.iam.v1.Policy.decode(reader, reader.uint32()); + message.iamPolicyData = $root.google.iam.v1.Policy.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6428,19 +6679,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SimulatedResource.verify = function verify(message) { + SimulatedResource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceType != null && message.hasOwnProperty("resourceType")) if (!$util.isString(message.resourceType)) return "resourceType: string expected"; if (message.resourceData != null && message.hasOwnProperty("resourceData")) { - var error = $root.google.protobuf.Struct.verify(message.resourceData); + var error = $root.google.protobuf.Struct.verify(message.resourceData, long + 1); if (error) return "resourceData." + error; } if (message.iamPolicyData != null && message.hasOwnProperty("iamPolicyData")) { - var error = $root.google.iam.v1.Policy.verify(message.iamPolicyData); + var error = $root.google.iam.v1.Policy.verify(message.iamPolicyData, long + 1); if (error) return "iamPolicyData." + error; } @@ -6455,21 +6710,25 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource} SimulatedResource */ - SimulatedResource.fromObject = function fromObject(object) { + SimulatedResource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource(); if (object.resourceType != null) message.resourceType = String(object.resourceType); if (object.resourceData != null) { if (typeof object.resourceData !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource.resourceData: object expected"); - message.resourceData = $root.google.protobuf.Struct.fromObject(object.resourceData); + message.resourceData = $root.google.protobuf.Struct.fromObject(object.resourceData, long + 1); } if (object.iamPolicyData != null) { if (typeof object.iamPolicyData !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleRequest.SimulatedResource.iamPolicyData: object expected"); - message.iamPolicyData = $root.google.iam.v1.Policy.fromObject(object.iamPolicyData); + message.iamPolicyData = $root.google.iam.v1.Policy.fromObject(object.iamPolicyData, long + 1); } return message; }; @@ -6562,7 +6821,7 @@ this.sourceProperties = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6710,9 +6969,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SimulatedFinding.decode = function decode(reader, length, error) { + SimulatedFinding.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.SimulatedFinding(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -6752,18 +7015,20 @@ key = reader.string(); break; case 2: - value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.sourceProperties, key); message.sourceProperties[key] = value; break; } case 7: { - message.eventTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.eventTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { @@ -6775,7 +7040,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6806,9 +7071,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SimulatedFinding.verify = function verify(message) { + SimulatedFinding.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -6835,13 +7104,13 @@ return "sourceProperties: object expected"; var key = Object.keys(message.sourceProperties); for (var i = 0; i < key.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.sourceProperties[key[i]]); + var error = $root.google.protobuf.Value.verify(message.sourceProperties[key[i]], long + 1); if (error) return "sourceProperties." + error; } } if (message.eventTime != null && message.hasOwnProperty("eventTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.eventTime); + var error = $root.google.protobuf.Timestamp.verify(message.eventTime, long + 1); if (error) return "eventTime." + error; } @@ -6881,9 +7150,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.SimulatedFinding} SimulatedFinding */ - SimulatedFinding.fromObject = function fromObject(object) { + SimulatedFinding.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.SimulatedFinding) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.SimulatedFinding(); if (object.name != null) message.name = String(object.name); @@ -6918,15 +7191,17 @@ throw TypeError(".google.cloud.securitycentermanagement.v1.SimulatedFinding.sourceProperties: object expected"); message.sourceProperties = {}; for (var keys = Object.keys(object.sourceProperties), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.sourceProperties, keys[i]); if (typeof object.sourceProperties[keys[i]] !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.SimulatedFinding.sourceProperties: object expected"); - message.sourceProperties[keys[i]] = $root.google.protobuf.Value.fromObject(object.sourceProperties[keys[i]]); + message.sourceProperties[keys[i]] = $root.google.protobuf.Value.fromObject(object.sourceProperties[keys[i]], long + 1); } } if (object.eventTime != null) { if (typeof object.eventTime !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.SimulatedFinding.eventTime: object expected"); - message.eventTime = $root.google.protobuf.Timestamp.fromObject(object.eventTime); + message.eventTime = $root.google.protobuf.Timestamp.fromObject(object.eventTime, long + 1); } switch (object.severity) { default: @@ -7037,8 +7312,11 @@ var keys2; if (message.sourceProperties && (keys2 = Object.keys(message.sourceProperties)).length) { object.sourceProperties = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.sourceProperties, keys2[j]); object.sourceProperties[keys2[j]] = $root.google.protobuf.Value.toObject(message.sourceProperties[keys2[j]], options); + } } if (message.eventTime != null && message.hasOwnProperty("eventTime")) object.eventTime = $root.google.protobuf.Timestamp.toObject(message.eventTime, options); @@ -7160,7 +7438,7 @@ function SimulateSecurityHealthAnalyticsCustomModuleResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7225,9 +7503,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SimulateSecurityHealthAnalyticsCustomModuleResponse.decode = function decode(reader, length, error) { + SimulateSecurityHealthAnalyticsCustomModuleResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7235,11 +7517,11 @@ break; switch (tag >>> 3) { case 1: { - message.result = $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.decode(reader, reader.uint32()); + message.result = $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7270,11 +7552,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SimulateSecurityHealthAnalyticsCustomModuleResponse.verify = function verify(message) { + SimulateSecurityHealthAnalyticsCustomModuleResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.result != null && message.hasOwnProperty("result")) { - var error = $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.verify(message.result); + var error = $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.verify(message.result, long + 1); if (error) return "result." + error; } @@ -7289,14 +7575,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse} SimulateSecurityHealthAnalyticsCustomModuleResponse */ - SimulateSecurityHealthAnalyticsCustomModuleResponse.fromObject = function fromObject(object) { + SimulateSecurityHealthAnalyticsCustomModuleResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse(); if (object.result != null) { if (typeof object.result !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.result: object expected"); - message.result = $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.fromObject(object.result); + message.result = $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.fromObject(object.result, long + 1); } return message; }; @@ -7369,7 +7659,7 @@ function SimulatedResult(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7468,9 +7758,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SimulatedResult.decode = function decode(reader, length, error) { + SimulatedResult.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7478,19 +7772,19 @@ break; switch (tag >>> 3) { case 1: { - message.finding = $root.google.cloud.securitycentermanagement.v1.SimulatedFinding.decode(reader, reader.uint32()); + message.finding = $root.google.cloud.securitycentermanagement.v1.SimulatedFinding.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.noViolation = $root.google.protobuf.Empty.decode(reader, reader.uint32()); + message.noViolation = $root.google.protobuf.Empty.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + message.error = $root.google.rpc.Status.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7521,14 +7815,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SimulatedResult.verify = function verify(message) { + SimulatedResult.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.finding != null && message.hasOwnProperty("finding")) { properties.result = 1; { - var error = $root.google.cloud.securitycentermanagement.v1.SimulatedFinding.verify(message.finding); + var error = $root.google.cloud.securitycentermanagement.v1.SimulatedFinding.verify(message.finding, long + 1); if (error) return "finding." + error; } @@ -7538,7 +7836,7 @@ return "result: multiple values"; properties.result = 1; { - var error = $root.google.protobuf.Empty.verify(message.noViolation); + var error = $root.google.protobuf.Empty.verify(message.noViolation, long + 1); if (error) return "noViolation." + error; } @@ -7548,7 +7846,7 @@ return "result: multiple values"; properties.result = 1; { - var error = $root.google.rpc.Status.verify(message.error); + var error = $root.google.rpc.Status.verify(message.error, long + 1); if (error) return "error." + error; } @@ -7564,24 +7862,28 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult} SimulatedResult */ - SimulatedResult.fromObject = function fromObject(object) { + SimulatedResult.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult(); if (object.finding != null) { if (typeof object.finding !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.finding: object expected"); - message.finding = $root.google.cloud.securitycentermanagement.v1.SimulatedFinding.fromObject(object.finding); + message.finding = $root.google.cloud.securitycentermanagement.v1.SimulatedFinding.fromObject(object.finding, long + 1); } if (object.noViolation != null) { if (typeof object.noViolation !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.noViolation: object expected"); - message.noViolation = $root.google.protobuf.Empty.fromObject(object.noViolation); + message.noViolation = $root.google.protobuf.Empty.fromObject(object.noViolation, long + 1); } if (object.error != null) { if (typeof object.error !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.SimulateSecurityHealthAnalyticsCustomModuleResponse.SimulatedResult.error: object expected"); - message.error = $root.google.rpc.Status.fromObject(object.error); + message.error = $root.google.rpc.Status.fromObject(object.error, long + 1); } return message; }; @@ -7674,7 +7976,7 @@ function EffectiveEventThreatDetectionCustomModule(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7789,9 +8091,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EffectiveEventThreatDetectionCustomModule.decode = function decode(reader, length, error) { + EffectiveEventThreatDetectionCustomModule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.EffectiveEventThreatDetectionCustomModule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7803,7 +8109,7 @@ break; } case 2: { - message.config = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + message.config = $root.google.protobuf.Struct.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -7823,7 +8129,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7854,14 +8160,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EffectiveEventThreatDetectionCustomModule.verify = function verify(message) { + EffectiveEventThreatDetectionCustomModule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.config != null && message.hasOwnProperty("config")) { - var error = $root.google.protobuf.Struct.verify(message.config); + var error = $root.google.protobuf.Struct.verify(message.config, long + 1); if (error) return "config." + error; } @@ -7894,16 +8204,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.EffectiveEventThreatDetectionCustomModule} EffectiveEventThreatDetectionCustomModule */ - EffectiveEventThreatDetectionCustomModule.fromObject = function fromObject(object) { + EffectiveEventThreatDetectionCustomModule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.EffectiveEventThreatDetectionCustomModule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.EffectiveEventThreatDetectionCustomModule(); if (object.name != null) message.name = String(object.name); if (object.config != null) { if (typeof object.config !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.EffectiveEventThreatDetectionCustomModule.config: object expected"); - message.config = $root.google.protobuf.Struct.fromObject(object.config); + message.config = $root.google.protobuf.Struct.fromObject(object.config, long + 1); } switch (object.enablementState) { default: @@ -8037,7 +8351,7 @@ function ListEffectiveEventThreatDetectionCustomModulesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8122,9 +8436,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEffectiveEventThreatDetectionCustomModulesRequest.decode = function decode(reader, length, error) { + ListEffectiveEventThreatDetectionCustomModulesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ListEffectiveEventThreatDetectionCustomModulesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8144,7 +8462,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8175,9 +8493,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEffectiveEventThreatDetectionCustomModulesRequest.verify = function verify(message) { + ListEffectiveEventThreatDetectionCustomModulesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -8198,9 +8520,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ListEffectiveEventThreatDetectionCustomModulesRequest} ListEffectiveEventThreatDetectionCustomModulesRequest */ - ListEffectiveEventThreatDetectionCustomModulesRequest.fromObject = function fromObject(object) { + ListEffectiveEventThreatDetectionCustomModulesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ListEffectiveEventThreatDetectionCustomModulesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ListEffectiveEventThreatDetectionCustomModulesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -8289,7 +8615,7 @@ this.effectiveEventThreatDetectionCustomModules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8365,9 +8691,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEffectiveEventThreatDetectionCustomModulesResponse.decode = function decode(reader, length, error) { + ListEffectiveEventThreatDetectionCustomModulesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ListEffectiveEventThreatDetectionCustomModulesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8377,7 +8707,7 @@ case 1: { if (!(message.effectiveEventThreatDetectionCustomModules && message.effectiveEventThreatDetectionCustomModules.length)) message.effectiveEventThreatDetectionCustomModules = []; - message.effectiveEventThreatDetectionCustomModules.push($root.google.cloud.securitycentermanagement.v1.EffectiveEventThreatDetectionCustomModule.decode(reader, reader.uint32())); + message.effectiveEventThreatDetectionCustomModules.push($root.google.cloud.securitycentermanagement.v1.EffectiveEventThreatDetectionCustomModule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -8385,7 +8715,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8416,14 +8746,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEffectiveEventThreatDetectionCustomModulesResponse.verify = function verify(message) { + ListEffectiveEventThreatDetectionCustomModulesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.effectiveEventThreatDetectionCustomModules != null && message.hasOwnProperty("effectiveEventThreatDetectionCustomModules")) { if (!Array.isArray(message.effectiveEventThreatDetectionCustomModules)) return "effectiveEventThreatDetectionCustomModules: array expected"; for (var i = 0; i < message.effectiveEventThreatDetectionCustomModules.length; ++i) { - var error = $root.google.cloud.securitycentermanagement.v1.EffectiveEventThreatDetectionCustomModule.verify(message.effectiveEventThreatDetectionCustomModules[i]); + var error = $root.google.cloud.securitycentermanagement.v1.EffectiveEventThreatDetectionCustomModule.verify(message.effectiveEventThreatDetectionCustomModules[i], long + 1); if (error) return "effectiveEventThreatDetectionCustomModules." + error; } @@ -8442,9 +8776,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ListEffectiveEventThreatDetectionCustomModulesResponse} ListEffectiveEventThreatDetectionCustomModulesResponse */ - ListEffectiveEventThreatDetectionCustomModulesResponse.fromObject = function fromObject(object) { + ListEffectiveEventThreatDetectionCustomModulesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ListEffectiveEventThreatDetectionCustomModulesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ListEffectiveEventThreatDetectionCustomModulesResponse(); if (object.effectiveEventThreatDetectionCustomModules) { if (!Array.isArray(object.effectiveEventThreatDetectionCustomModules)) @@ -8453,7 +8791,7 @@ for (var i = 0; i < object.effectiveEventThreatDetectionCustomModules.length; ++i) { if (typeof object.effectiveEventThreatDetectionCustomModules[i] !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.ListEffectiveEventThreatDetectionCustomModulesResponse.effectiveEventThreatDetectionCustomModules: object expected"); - message.effectiveEventThreatDetectionCustomModules[i] = $root.google.cloud.securitycentermanagement.v1.EffectiveEventThreatDetectionCustomModule.fromObject(object.effectiveEventThreatDetectionCustomModules[i]); + message.effectiveEventThreatDetectionCustomModules[i] = $root.google.cloud.securitycentermanagement.v1.EffectiveEventThreatDetectionCustomModule.fromObject(object.effectiveEventThreatDetectionCustomModules[i], long + 1); } } if (object.nextPageToken != null) @@ -8537,7 +8875,7 @@ function GetEffectiveEventThreatDetectionCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8602,9 +8940,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetEffectiveEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error) { + GetEffectiveEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.GetEffectiveEventThreatDetectionCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8616,7 +8958,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8647,9 +8989,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetEffectiveEventThreatDetectionCustomModuleRequest.verify = function verify(message) { + GetEffectiveEventThreatDetectionCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -8664,9 +9010,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.GetEffectiveEventThreatDetectionCustomModuleRequest} GetEffectiveEventThreatDetectionCustomModuleRequest */ - GetEffectiveEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object) { + GetEffectiveEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.GetEffectiveEventThreatDetectionCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.GetEffectiveEventThreatDetectionCustomModuleRequest(); if (object.name != null) message.name = String(object.name); @@ -8750,7 +9100,7 @@ function EventThreatDetectionCustomModule(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8895,9 +9245,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EventThreatDetectionCustomModule.decode = function decode(reader, length, error) { + EventThreatDetectionCustomModule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8909,7 +9263,7 @@ break; } case 2: { - message.config = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + message.config = $root.google.protobuf.Struct.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -8933,7 +9287,7 @@ break; } case 8: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { @@ -8941,7 +9295,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8972,14 +9326,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EventThreatDetectionCustomModule.verify = function verify(message) { + EventThreatDetectionCustomModule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.config != null && message.hasOwnProperty("config")) { - var error = $root.google.protobuf.Struct.verify(message.config); + var error = $root.google.protobuf.Struct.verify(message.config, long + 1); if (error) return "config." + error; } @@ -9006,7 +9364,7 @@ if (!$util.isString(message.description)) return "description: string expected"; if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -9024,16 +9382,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule} EventThreatDetectionCustomModule */ - EventThreatDetectionCustomModule.fromObject = function fromObject(object) { + EventThreatDetectionCustomModule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule(); if (object.name != null) message.name = String(object.name); if (object.config != null) { if (typeof object.config !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.config: object expected"); - message.config = $root.google.protobuf.Struct.fromObject(object.config); + message.config = $root.google.protobuf.Struct.fromObject(object.config, long + 1); } if (object.ancestorModule != null) message.ancestorModule = String(object.ancestorModule); @@ -9070,7 +9432,7 @@ if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.lastEditor != null) message.lastEditor = String(object.lastEditor); @@ -9191,7 +9553,7 @@ function ListEventThreatDetectionCustomModulesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9276,9 +9638,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEventThreatDetectionCustomModulesRequest.decode = function decode(reader, length, error) { + ListEventThreatDetectionCustomModulesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ListEventThreatDetectionCustomModulesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9298,7 +9664,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9329,9 +9695,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEventThreatDetectionCustomModulesRequest.verify = function verify(message) { + ListEventThreatDetectionCustomModulesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -9352,9 +9722,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ListEventThreatDetectionCustomModulesRequest} ListEventThreatDetectionCustomModulesRequest */ - ListEventThreatDetectionCustomModulesRequest.fromObject = function fromObject(object) { + ListEventThreatDetectionCustomModulesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ListEventThreatDetectionCustomModulesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ListEventThreatDetectionCustomModulesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -9443,7 +9817,7 @@ this.eventThreatDetectionCustomModules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9519,9 +9893,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEventThreatDetectionCustomModulesResponse.decode = function decode(reader, length, error) { + ListEventThreatDetectionCustomModulesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ListEventThreatDetectionCustomModulesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9531,7 +9909,7 @@ case 1: { if (!(message.eventThreatDetectionCustomModules && message.eventThreatDetectionCustomModules.length)) message.eventThreatDetectionCustomModules = []; - message.eventThreatDetectionCustomModules.push($root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.decode(reader, reader.uint32())); + message.eventThreatDetectionCustomModules.push($root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -9539,7 +9917,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9570,14 +9948,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEventThreatDetectionCustomModulesResponse.verify = function verify(message) { + ListEventThreatDetectionCustomModulesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.eventThreatDetectionCustomModules != null && message.hasOwnProperty("eventThreatDetectionCustomModules")) { if (!Array.isArray(message.eventThreatDetectionCustomModules)) return "eventThreatDetectionCustomModules: array expected"; for (var i = 0; i < message.eventThreatDetectionCustomModules.length; ++i) { - var error = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.verify(message.eventThreatDetectionCustomModules[i]); + var error = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.verify(message.eventThreatDetectionCustomModules[i], long + 1); if (error) return "eventThreatDetectionCustomModules." + error; } @@ -9596,9 +9978,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ListEventThreatDetectionCustomModulesResponse} ListEventThreatDetectionCustomModulesResponse */ - ListEventThreatDetectionCustomModulesResponse.fromObject = function fromObject(object) { + ListEventThreatDetectionCustomModulesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ListEventThreatDetectionCustomModulesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ListEventThreatDetectionCustomModulesResponse(); if (object.eventThreatDetectionCustomModules) { if (!Array.isArray(object.eventThreatDetectionCustomModules)) @@ -9607,7 +9993,7 @@ for (var i = 0; i < object.eventThreatDetectionCustomModules.length; ++i) { if (typeof object.eventThreatDetectionCustomModules[i] !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.ListEventThreatDetectionCustomModulesResponse.eventThreatDetectionCustomModules: object expected"); - message.eventThreatDetectionCustomModules[i] = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.fromObject(object.eventThreatDetectionCustomModules[i]); + message.eventThreatDetectionCustomModules[i] = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.fromObject(object.eventThreatDetectionCustomModules[i], long + 1); } } if (object.nextPageToken != null) @@ -9693,7 +10079,7 @@ function ListDescendantEventThreatDetectionCustomModulesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9778,9 +10164,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListDescendantEventThreatDetectionCustomModulesRequest.decode = function decode(reader, length, error) { + ListDescendantEventThreatDetectionCustomModulesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ListDescendantEventThreatDetectionCustomModulesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9800,7 +10190,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9831,9 +10221,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListDescendantEventThreatDetectionCustomModulesRequest.verify = function verify(message) { + ListDescendantEventThreatDetectionCustomModulesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -9854,9 +10248,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ListDescendantEventThreatDetectionCustomModulesRequest} ListDescendantEventThreatDetectionCustomModulesRequest */ - ListDescendantEventThreatDetectionCustomModulesRequest.fromObject = function fromObject(object) { + ListDescendantEventThreatDetectionCustomModulesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ListDescendantEventThreatDetectionCustomModulesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ListDescendantEventThreatDetectionCustomModulesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -9945,7 +10343,7 @@ this.eventThreatDetectionCustomModules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10021,9 +10419,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListDescendantEventThreatDetectionCustomModulesResponse.decode = function decode(reader, length, error) { + ListDescendantEventThreatDetectionCustomModulesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ListDescendantEventThreatDetectionCustomModulesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10033,7 +10435,7 @@ case 1: { if (!(message.eventThreatDetectionCustomModules && message.eventThreatDetectionCustomModules.length)) message.eventThreatDetectionCustomModules = []; - message.eventThreatDetectionCustomModules.push($root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.decode(reader, reader.uint32())); + message.eventThreatDetectionCustomModules.push($root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -10041,7 +10443,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10072,14 +10474,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListDescendantEventThreatDetectionCustomModulesResponse.verify = function verify(message) { + ListDescendantEventThreatDetectionCustomModulesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.eventThreatDetectionCustomModules != null && message.hasOwnProperty("eventThreatDetectionCustomModules")) { if (!Array.isArray(message.eventThreatDetectionCustomModules)) return "eventThreatDetectionCustomModules: array expected"; for (var i = 0; i < message.eventThreatDetectionCustomModules.length; ++i) { - var error = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.verify(message.eventThreatDetectionCustomModules[i]); + var error = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.verify(message.eventThreatDetectionCustomModules[i], long + 1); if (error) return "eventThreatDetectionCustomModules." + error; } @@ -10098,9 +10504,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ListDescendantEventThreatDetectionCustomModulesResponse} ListDescendantEventThreatDetectionCustomModulesResponse */ - ListDescendantEventThreatDetectionCustomModulesResponse.fromObject = function fromObject(object) { + ListDescendantEventThreatDetectionCustomModulesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ListDescendantEventThreatDetectionCustomModulesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ListDescendantEventThreatDetectionCustomModulesResponse(); if (object.eventThreatDetectionCustomModules) { if (!Array.isArray(object.eventThreatDetectionCustomModules)) @@ -10109,7 +10519,7 @@ for (var i = 0; i < object.eventThreatDetectionCustomModules.length; ++i) { if (typeof object.eventThreatDetectionCustomModules[i] !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.ListDescendantEventThreatDetectionCustomModulesResponse.eventThreatDetectionCustomModules: object expected"); - message.eventThreatDetectionCustomModules[i] = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.fromObject(object.eventThreatDetectionCustomModules[i]); + message.eventThreatDetectionCustomModules[i] = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.fromObject(object.eventThreatDetectionCustomModules[i], long + 1); } } if (object.nextPageToken != null) @@ -10193,7 +10603,7 @@ function GetEventThreatDetectionCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10258,9 +10668,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error) { + GetEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.GetEventThreatDetectionCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10272,7 +10686,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10303,9 +10717,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetEventThreatDetectionCustomModuleRequest.verify = function verify(message) { + GetEventThreatDetectionCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -10320,9 +10738,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.GetEventThreatDetectionCustomModuleRequest} GetEventThreatDetectionCustomModuleRequest */ - GetEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object) { + GetEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.GetEventThreatDetectionCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.GetEventThreatDetectionCustomModuleRequest(); if (object.name != null) message.name = String(object.name); @@ -10400,7 +10822,7 @@ function CreateEventThreatDetectionCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10485,9 +10907,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error) { + CreateEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.CreateEventThreatDetectionCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10499,7 +10925,7 @@ break; } case 3: { - message.eventThreatDetectionCustomModule = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.decode(reader, reader.uint32()); + message.eventThreatDetectionCustomModule = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -10507,7 +10933,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10538,14 +10964,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateEventThreatDetectionCustomModuleRequest.verify = function verify(message) { + CreateEventThreatDetectionCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.eventThreatDetectionCustomModule != null && message.hasOwnProperty("eventThreatDetectionCustomModule")) { - var error = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.verify(message.eventThreatDetectionCustomModule); + var error = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.verify(message.eventThreatDetectionCustomModule, long + 1); if (error) return "eventThreatDetectionCustomModule." + error; } @@ -10563,16 +10993,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.CreateEventThreatDetectionCustomModuleRequest} CreateEventThreatDetectionCustomModuleRequest */ - CreateEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object) { + CreateEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.CreateEventThreatDetectionCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.CreateEventThreatDetectionCustomModuleRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.eventThreatDetectionCustomModule != null) { if (typeof object.eventThreatDetectionCustomModule !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.CreateEventThreatDetectionCustomModuleRequest.eventThreatDetectionCustomModule: object expected"); - message.eventThreatDetectionCustomModule = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.fromObject(object.eventThreatDetectionCustomModule); + message.eventThreatDetectionCustomModule = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.fromObject(object.eventThreatDetectionCustomModule, long + 1); } if (object.validateOnly != null) message.validateOnly = Boolean(object.validateOnly); @@ -10657,7 +11091,7 @@ function UpdateEventThreatDetectionCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10742,9 +11176,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error) { + UpdateEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.UpdateEventThreatDetectionCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10752,11 +11190,11 @@ break; switch (tag >>> 3) { case 1: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.eventThreatDetectionCustomModule = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.decode(reader, reader.uint32()); + message.eventThreatDetectionCustomModule = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -10764,7 +11202,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10795,16 +11233,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateEventThreatDetectionCustomModuleRequest.verify = function verify(message) { + UpdateEventThreatDetectionCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } if (message.eventThreatDetectionCustomModule != null && message.hasOwnProperty("eventThreatDetectionCustomModule")) { - var error = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.verify(message.eventThreatDetectionCustomModule); + var error = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.verify(message.eventThreatDetectionCustomModule, long + 1); if (error) return "eventThreatDetectionCustomModule." + error; } @@ -10822,19 +11264,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.UpdateEventThreatDetectionCustomModuleRequest} UpdateEventThreatDetectionCustomModuleRequest */ - UpdateEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object) { + UpdateEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.UpdateEventThreatDetectionCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.UpdateEventThreatDetectionCustomModuleRequest(); if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.UpdateEventThreatDetectionCustomModuleRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } if (object.eventThreatDetectionCustomModule != null) { if (typeof object.eventThreatDetectionCustomModule !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.UpdateEventThreatDetectionCustomModuleRequest.eventThreatDetectionCustomModule: object expected"); - message.eventThreatDetectionCustomModule = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.fromObject(object.eventThreatDetectionCustomModule); + message.eventThreatDetectionCustomModule = $root.google.cloud.securitycentermanagement.v1.EventThreatDetectionCustomModule.fromObject(object.eventThreatDetectionCustomModule, long + 1); } if (object.validateOnly != null) message.validateOnly = Boolean(object.validateOnly); @@ -10918,7 +11364,7 @@ function DeleteEventThreatDetectionCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10993,9 +11439,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error) { + DeleteEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.DeleteEventThreatDetectionCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11011,7 +11461,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11042,9 +11492,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteEventThreatDetectionCustomModuleRequest.verify = function verify(message) { + DeleteEventThreatDetectionCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -11062,9 +11516,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.DeleteEventThreatDetectionCustomModuleRequest} DeleteEventThreatDetectionCustomModuleRequest */ - DeleteEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object) { + DeleteEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.DeleteEventThreatDetectionCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.DeleteEventThreatDetectionCustomModuleRequest(); if (object.name != null) message.name = String(object.name); @@ -11148,7 +11606,7 @@ function ValidateEventThreatDetectionCustomModuleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11233,9 +11691,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValidateEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error) { + ValidateEventThreatDetectionCustomModuleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11255,7 +11717,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11286,9 +11748,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ValidateEventThreatDetectionCustomModuleRequest.verify = function verify(message) { + ValidateEventThreatDetectionCustomModuleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -11309,9 +11775,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleRequest} ValidateEventThreatDetectionCustomModuleRequest */ - ValidateEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object) { + ValidateEventThreatDetectionCustomModuleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -11399,7 +11869,7 @@ this.errors = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11465,9 +11935,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValidateEventThreatDetectionCustomModuleResponse.decode = function decode(reader, length, error) { + ValidateEventThreatDetectionCustomModuleResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11477,11 +11951,11 @@ case 2: { if (!(message.errors && message.errors.length)) message.errors = []; - message.errors.push($root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.CustomModuleValidationError.decode(reader, reader.uint32())); + message.errors.push($root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.CustomModuleValidationError.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11512,14 +11986,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ValidateEventThreatDetectionCustomModuleResponse.verify = function verify(message) { + ValidateEventThreatDetectionCustomModuleResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.errors != null && message.hasOwnProperty("errors")) { if (!Array.isArray(message.errors)) return "errors: array expected"; for (var i = 0; i < message.errors.length; ++i) { - var error = $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.CustomModuleValidationError.verify(message.errors[i]); + var error = $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.CustomModuleValidationError.verify(message.errors[i], long + 1); if (error) return "errors." + error; } @@ -11535,9 +12013,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse} ValidateEventThreatDetectionCustomModuleResponse */ - ValidateEventThreatDetectionCustomModuleResponse.fromObject = function fromObject(object) { + ValidateEventThreatDetectionCustomModuleResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse(); if (object.errors) { if (!Array.isArray(object.errors)) @@ -11546,7 +12028,7 @@ for (var i = 0; i < object.errors.length; ++i) { if (typeof object.errors[i] !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.errors: object expected"); - message.errors[i] = $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.CustomModuleValidationError.fromObject(object.errors[i]); + message.errors[i] = $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.CustomModuleValidationError.fromObject(object.errors[i], long + 1); } } return message; @@ -11624,7 +12106,7 @@ function CustomModuleValidationError(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11734,9 +12216,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomModuleValidationError.decode = function decode(reader, length, error) { + CustomModuleValidationError.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.CustomModuleValidationError(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11752,15 +12238,15 @@ break; } case 3: { - message.start = $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.Position.decode(reader, reader.uint32()); + message.start = $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.Position.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.end = $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.Position.decode(reader, reader.uint32()); + message.end = $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.Position.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11791,9 +12277,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CustomModuleValidationError.verify = function verify(message) { + CustomModuleValidationError.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.description != null && message.hasOwnProperty("description")) if (!$util.isString(message.description)) @@ -11804,7 +12294,7 @@ if (message.start != null && message.hasOwnProperty("start")) { properties._start = 1; { - var error = $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.Position.verify(message.start); + var error = $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.Position.verify(message.start, long + 1); if (error) return "start." + error; } @@ -11812,7 +12302,7 @@ if (message.end != null && message.hasOwnProperty("end")) { properties._end = 1; { - var error = $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.Position.verify(message.end); + var error = $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.Position.verify(message.end, long + 1); if (error) return "end." + error; } @@ -11828,9 +12318,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.CustomModuleValidationError} CustomModuleValidationError */ - CustomModuleValidationError.fromObject = function fromObject(object) { + CustomModuleValidationError.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.CustomModuleValidationError) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.CustomModuleValidationError(); if (object.description != null) message.description = String(object.description); @@ -11839,12 +12333,12 @@ if (object.start != null) { if (typeof object.start !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.CustomModuleValidationError.start: object expected"); - message.start = $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.Position.fromObject(object.start); + message.start = $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.Position.fromObject(object.start, long + 1); } if (object.end != null) { if (typeof object.end !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.CustomModuleValidationError.end: object expected"); - message.end = $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.Position.fromObject(object.end); + message.end = $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.Position.fromObject(object.end, long + 1); } return message; }; @@ -11933,7 +12427,7 @@ function Position(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12008,9 +12502,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Position.decode = function decode(reader, length, error) { + Position.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.Position(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12026,7 +12524,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12057,9 +12555,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Position.verify = function verify(message) { + Position.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.lineNumber != null && message.hasOwnProperty("lineNumber")) if (!$util.isInteger(message.lineNumber)) return "lineNumber: integer expected"; @@ -12077,9 +12579,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.Position} Position */ - Position.fromObject = function fromObject(object) { + Position.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.Position) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ValidateEventThreatDetectionCustomModuleResponse.Position(); if (object.lineNumber != null) message.lineNumber = object.lineNumber | 0; @@ -12165,7 +12671,7 @@ function GetSecurityCenterServiceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12240,9 +12746,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetSecurityCenterServiceRequest.decode = function decode(reader, length, error) { + GetSecurityCenterServiceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.GetSecurityCenterServiceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12258,7 +12768,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12289,9 +12799,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetSecurityCenterServiceRequest.verify = function verify(message) { + GetSecurityCenterServiceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -12309,9 +12823,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.GetSecurityCenterServiceRequest} GetSecurityCenterServiceRequest */ - GetSecurityCenterServiceRequest.fromObject = function fromObject(object) { + GetSecurityCenterServiceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.GetSecurityCenterServiceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.GetSecurityCenterServiceRequest(); if (object.name != null) message.name = String(object.name); @@ -12396,7 +12914,7 @@ function ListSecurityCenterServicesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12491,9 +13009,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListSecurityCenterServicesRequest.decode = function decode(reader, length, error) { + ListSecurityCenterServicesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ListSecurityCenterServicesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12517,7 +13039,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12548,9 +13070,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListSecurityCenterServicesRequest.verify = function verify(message) { + ListSecurityCenterServicesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -12574,9 +13100,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ListSecurityCenterServicesRequest} ListSecurityCenterServicesRequest */ - ListSecurityCenterServicesRequest.fromObject = function fromObject(object) { + ListSecurityCenterServicesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ListSecurityCenterServicesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ListSecurityCenterServicesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -12670,7 +13200,7 @@ this.securityCenterServices = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12746,9 +13276,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListSecurityCenterServicesResponse.decode = function decode(reader, length, error) { + ListSecurityCenterServicesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.ListSecurityCenterServicesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12758,7 +13292,7 @@ case 1: { if (!(message.securityCenterServices && message.securityCenterServices.length)) message.securityCenterServices = []; - message.securityCenterServices.push($root.google.cloud.securitycentermanagement.v1.SecurityCenterService.decode(reader, reader.uint32())); + message.securityCenterServices.push($root.google.cloud.securitycentermanagement.v1.SecurityCenterService.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -12766,7 +13300,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12797,14 +13331,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListSecurityCenterServicesResponse.verify = function verify(message) { + ListSecurityCenterServicesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.securityCenterServices != null && message.hasOwnProperty("securityCenterServices")) { if (!Array.isArray(message.securityCenterServices)) return "securityCenterServices: array expected"; for (var i = 0; i < message.securityCenterServices.length; ++i) { - var error = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.verify(message.securityCenterServices[i]); + var error = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.verify(message.securityCenterServices[i], long + 1); if (error) return "securityCenterServices." + error; } @@ -12823,9 +13361,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.ListSecurityCenterServicesResponse} ListSecurityCenterServicesResponse */ - ListSecurityCenterServicesResponse.fromObject = function fromObject(object) { + ListSecurityCenterServicesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.ListSecurityCenterServicesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.ListSecurityCenterServicesResponse(); if (object.securityCenterServices) { if (!Array.isArray(object.securityCenterServices)) @@ -12834,7 +13376,7 @@ for (var i = 0; i < object.securityCenterServices.length; ++i) { if (typeof object.securityCenterServices[i] !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.ListSecurityCenterServicesResponse.securityCenterServices: object expected"); - message.securityCenterServices[i] = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.fromObject(object.securityCenterServices[i]); + message.securityCenterServices[i] = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.fromObject(object.securityCenterServices[i], long + 1); } } if (object.nextPageToken != null) @@ -12920,7 +13462,7 @@ function UpdateSecurityCenterServiceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13005,9 +13547,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateSecurityCenterServiceRequest.decode = function decode(reader, length, error) { + UpdateSecurityCenterServiceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.securitycentermanagement.v1.UpdateSecurityCenterServiceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13015,11 +13561,11 @@ break; switch (tag >>> 3) { case 1: { - message.securityCenterService = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.decode(reader, reader.uint32()); + message.securityCenterService = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -13027,7 +13573,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13058,16 +13604,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateSecurityCenterServiceRequest.verify = function verify(message) { + UpdateSecurityCenterServiceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.securityCenterService != null && message.hasOwnProperty("securityCenterService")) { - var error = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.verify(message.securityCenterService); + var error = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.verify(message.securityCenterService, long + 1); if (error) return "securityCenterService." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -13085,19 +13635,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.securitycentermanagement.v1.UpdateSecurityCenterServiceRequest} UpdateSecurityCenterServiceRequest */ - UpdateSecurityCenterServiceRequest.fromObject = function fromObject(object) { + UpdateSecurityCenterServiceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.securitycentermanagement.v1.UpdateSecurityCenterServiceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.securitycentermanagement.v1.UpdateSecurityCenterServiceRequest(); if (object.securityCenterService != null) { if (typeof object.securityCenterService !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.UpdateSecurityCenterServiceRequest.securityCenterService: object expected"); - message.securityCenterService = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.fromObject(object.securityCenterService); + message.securityCenterService = $root.google.cloud.securitycentermanagement.v1.SecurityCenterService.fromObject(object.securityCenterService, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.securitycentermanagement.v1.UpdateSecurityCenterServiceRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } if (object.validateOnly != null) message.validateOnly = Boolean(object.validateOnly); @@ -13200,7 +13754,7 @@ this.rules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13276,9 +13830,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Http.decode = function decode(reader, length, error) { + Http.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13288,7 +13846,7 @@ case 1: { if (!(message.rules && message.rules.length)) message.rules = []; - message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -13296,7 +13854,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13327,14 +13885,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Http.verify = function verify(message) { + Http.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.rules != null && message.hasOwnProperty("rules")) { if (!Array.isArray(message.rules)) return "rules: array expected"; for (var i = 0; i < message.rules.length; ++i) { - var error = $root.google.api.HttpRule.verify(message.rules[i]); + var error = $root.google.api.HttpRule.verify(message.rules[i], long + 1); if (error) return "rules." + error; } @@ -13353,9 +13915,13 @@ * @param {Object.} object Plain object * @returns {google.api.Http} Http */ - Http.fromObject = function fromObject(object) { + Http.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.Http) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.Http(); if (object.rules) { if (!Array.isArray(object.rules)) @@ -13364,7 +13930,7 @@ for (var i = 0; i < object.rules.length; ++i) { if (typeof object.rules[i] !== "object") throw TypeError(".google.api.Http.rules: object expected"); - message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i]); + message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i], long + 1); } } if (object.fullyDecodeReservedExpansion != null) @@ -13458,7 +14024,7 @@ this.additionalBindings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13628,9 +14194,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HttpRule.decode = function decode(reader, length, error) { + HttpRule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13662,7 +14232,7 @@ break; } case 8: { - message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32()); + message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -13676,11 +14246,11 @@ case 11: { if (!(message.additionalBindings && message.additionalBindings.length)) message.additionalBindings = []; - message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13711,9 +14281,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - HttpRule.verify = function verify(message) { + HttpRule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.selector != null && message.hasOwnProperty("selector")) if (!$util.isString(message.selector)) @@ -13756,7 +14330,7 @@ return "pattern: multiple values"; properties.pattern = 1; { - var error = $root.google.api.CustomHttpPattern.verify(message.custom); + var error = $root.google.api.CustomHttpPattern.verify(message.custom, long + 1); if (error) return "custom." + error; } @@ -13771,7 +14345,7 @@ if (!Array.isArray(message.additionalBindings)) return "additionalBindings: array expected"; for (var i = 0; i < message.additionalBindings.length; ++i) { - var error = $root.google.api.HttpRule.verify(message.additionalBindings[i]); + var error = $root.google.api.HttpRule.verify(message.additionalBindings[i], long + 1); if (error) return "additionalBindings." + error; } @@ -13787,9 +14361,13 @@ * @param {Object.} object Plain object * @returns {google.api.HttpRule} HttpRule */ - HttpRule.fromObject = function fromObject(object) { + HttpRule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.HttpRule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.HttpRule(); if (object.selector != null) message.selector = String(object.selector); @@ -13806,7 +14384,7 @@ if (object.custom != null) { if (typeof object.custom !== "object") throw TypeError(".google.api.HttpRule.custom: object expected"); - message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom); + message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom, long + 1); } if (object.body != null) message.body = String(object.body); @@ -13819,7 +14397,7 @@ for (var i = 0; i < object.additionalBindings.length; ++i) { if (typeof object.additionalBindings[i] !== "object") throw TypeError(".google.api.HttpRule.additionalBindings: object expected"); - message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i]); + message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i], long + 1); } } return message; @@ -13939,7 +14517,7 @@ function CustomHttpPattern(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14014,9 +14592,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomHttpPattern.decode = function decode(reader, length, error) { + CustomHttpPattern.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14032,7 +14614,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14063,9 +14645,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CustomHttpPattern.verify = function verify(message) { + CustomHttpPattern.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.kind != null && message.hasOwnProperty("kind")) if (!$util.isString(message.kind)) return "kind: string expected"; @@ -14083,9 +14669,13 @@ * @param {Object.} object Plain object * @returns {google.api.CustomHttpPattern} CustomHttpPattern */ - CustomHttpPattern.fromObject = function fromObject(object) { + CustomHttpPattern.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CustomHttpPattern) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CustomHttpPattern(); if (object.kind != null) message.kind = String(object.kind); @@ -14170,7 +14760,7 @@ this.destinations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14259,9 +14849,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CommonLanguageSettings.decode = function decode(reader, length, error) { + CommonLanguageSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CommonLanguageSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14284,11 +14878,11 @@ break; } case 3: { - message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.decode(reader, reader.uint32()); + message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14319,9 +14913,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CommonLanguageSettings.verify = function verify(message) { + CommonLanguageSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri")) if (!$util.isString(message.referenceDocsUri)) return "referenceDocsUri: string expected"; @@ -14339,7 +14937,7 @@ } } if (message.selectiveGapicGeneration != null && message.hasOwnProperty("selectiveGapicGeneration")) { - var error = $root.google.api.SelectiveGapicGeneration.verify(message.selectiveGapicGeneration); + var error = $root.google.api.SelectiveGapicGeneration.verify(message.selectiveGapicGeneration, long + 1); if (error) return "selectiveGapicGeneration." + error; } @@ -14354,9 +14952,13 @@ * @param {Object.} object Plain object * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings */ - CommonLanguageSettings.fromObject = function fromObject(object) { + CommonLanguageSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CommonLanguageSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CommonLanguageSettings(); if (object.referenceDocsUri != null) message.referenceDocsUri = String(object.referenceDocsUri); @@ -14388,7 +14990,7 @@ if (object.selectiveGapicGeneration != null) { if (typeof object.selectiveGapicGeneration !== "object") throw TypeError(".google.api.CommonLanguageSettings.selectiveGapicGeneration: object expected"); - message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.fromObject(object.selectiveGapicGeneration); + message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.fromObject(object.selectiveGapicGeneration, long + 1); } return message; }; @@ -14483,7 +15085,7 @@ function ClientLibrarySettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14648,9 +15250,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClientLibrarySettings.decode = function decode(reader, length, error) { + ClientLibrarySettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ClientLibrarySettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14670,39 +15276,39 @@ break; } case 21: { - message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32()); + message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 22: { - message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32()); + message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 23: { - message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32()); + message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 24: { - message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32()); + message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 25: { - message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32()); + message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 26: { - message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32()); + message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 27: { - message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32()); + message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 28: { - message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32()); + message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14733,9 +15339,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ClientLibrarySettings.verify = function verify(message) { + ClientLibrarySettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isString(message.version)) return "version: string expected"; @@ -14757,42 +15367,42 @@ if (typeof message.restNumericEnums !== "boolean") return "restNumericEnums: boolean expected"; if (message.javaSettings != null && message.hasOwnProperty("javaSettings")) { - var error = $root.google.api.JavaSettings.verify(message.javaSettings); + var error = $root.google.api.JavaSettings.verify(message.javaSettings, long + 1); if (error) return "javaSettings." + error; } if (message.cppSettings != null && message.hasOwnProperty("cppSettings")) { - var error = $root.google.api.CppSettings.verify(message.cppSettings); + var error = $root.google.api.CppSettings.verify(message.cppSettings, long + 1); if (error) return "cppSettings." + error; } if (message.phpSettings != null && message.hasOwnProperty("phpSettings")) { - var error = $root.google.api.PhpSettings.verify(message.phpSettings); + var error = $root.google.api.PhpSettings.verify(message.phpSettings, long + 1); if (error) return "phpSettings." + error; } if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings")) { - var error = $root.google.api.PythonSettings.verify(message.pythonSettings); + var error = $root.google.api.PythonSettings.verify(message.pythonSettings, long + 1); if (error) return "pythonSettings." + error; } if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings")) { - var error = $root.google.api.NodeSettings.verify(message.nodeSettings); + var error = $root.google.api.NodeSettings.verify(message.nodeSettings, long + 1); if (error) return "nodeSettings." + error; } if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings")) { - var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings); + var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings, long + 1); if (error) return "dotnetSettings." + error; } if (message.rubySettings != null && message.hasOwnProperty("rubySettings")) { - var error = $root.google.api.RubySettings.verify(message.rubySettings); + var error = $root.google.api.RubySettings.verify(message.rubySettings, long + 1); if (error) return "rubySettings." + error; } if (message.goSettings != null && message.hasOwnProperty("goSettings")) { - var error = $root.google.api.GoSettings.verify(message.goSettings); + var error = $root.google.api.GoSettings.verify(message.goSettings, long + 1); if (error) return "goSettings." + error; } @@ -14807,9 +15417,13 @@ * @param {Object.} object Plain object * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings */ - ClientLibrarySettings.fromObject = function fromObject(object) { + ClientLibrarySettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ClientLibrarySettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ClientLibrarySettings(); if (object.version != null) message.version = String(object.version); @@ -14858,42 +15472,42 @@ if (object.javaSettings != null) { if (typeof object.javaSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.javaSettings: object expected"); - message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings); + message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings, long + 1); } if (object.cppSettings != null) { if (typeof object.cppSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.cppSettings: object expected"); - message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings); + message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings, long + 1); } if (object.phpSettings != null) { if (typeof object.phpSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.phpSettings: object expected"); - message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings); + message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings, long + 1); } if (object.pythonSettings != null) { if (typeof object.pythonSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.pythonSettings: object expected"); - message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings); + message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings, long + 1); } if (object.nodeSettings != null) { if (typeof object.nodeSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.nodeSettings: object expected"); - message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings); + message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings, long + 1); } if (object.dotnetSettings != null) { if (typeof object.dotnetSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.dotnetSettings: object expected"); - message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings); + message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings, long + 1); } if (object.rubySettings != null) { if (typeof object.rubySettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.rubySettings: object expected"); - message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings); + message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings, long + 1); } if (object.goSettings != null) { if (typeof object.goSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.goSettings: object expected"); - message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings); + message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings, long + 1); } return message; }; @@ -15011,7 +15625,7 @@ this.librarySettings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15179,9 +15793,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Publishing.decode = function decode(reader, length, error) { + Publishing.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Publishing(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15191,7 +15809,7 @@ case 2: { if (!(message.methodSettings && message.methodSettings.length)) message.methodSettings = []; - message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32())); + message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 101: { @@ -15227,7 +15845,7 @@ case 109: { if (!(message.librarySettings && message.librarySettings.length)) message.librarySettings = []; - message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32())); + message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 110: { @@ -15239,7 +15857,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15270,14 +15888,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Publishing.verify = function verify(message) { + Publishing.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.methodSettings != null && message.hasOwnProperty("methodSettings")) { if (!Array.isArray(message.methodSettings)) return "methodSettings: array expected"; for (var i = 0; i < message.methodSettings.length; ++i) { - var error = $root.google.api.MethodSettings.verify(message.methodSettings[i]); + var error = $root.google.api.MethodSettings.verify(message.methodSettings[i], long + 1); if (error) return "methodSettings." + error; } @@ -15322,7 +15944,7 @@ if (!Array.isArray(message.librarySettings)) return "librarySettings: array expected"; for (var i = 0; i < message.librarySettings.length; ++i) { - var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i]); + var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i], long + 1); if (error) return "librarySettings." + error; } @@ -15344,9 +15966,13 @@ * @param {Object.} object Plain object * @returns {google.api.Publishing} Publishing */ - Publishing.fromObject = function fromObject(object) { + Publishing.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.Publishing) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.Publishing(); if (object.methodSettings) { if (!Array.isArray(object.methodSettings)) @@ -15355,7 +15981,7 @@ for (var i = 0; i < object.methodSettings.length; ++i) { if (typeof object.methodSettings[i] !== "object") throw TypeError(".google.api.Publishing.methodSettings: object expected"); - message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i]); + message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i], long + 1); } } if (object.newIssueUri != null) @@ -15422,7 +16048,7 @@ for (var i = 0; i < object.librarySettings.length; ++i) { if (typeof object.librarySettings[i] !== "object") throw TypeError(".google.api.Publishing.librarySettings: object expected"); - message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i]); + message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i], long + 1); } } if (object.protoReferenceDocumentationUri != null) @@ -15546,7 +16172,7 @@ this.serviceClassNames = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15632,9 +16258,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - JavaSettings.decode = function decode(reader, length, error) { + JavaSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.JavaSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -15661,19 +16291,21 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.serviceClassNames, key); message.serviceClassNames[key] = value; break; } case 3: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15704,9 +16336,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - JavaSettings.verify = function verify(message) { + JavaSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.libraryPackage != null && message.hasOwnProperty("libraryPackage")) if (!$util.isString(message.libraryPackage)) return "libraryPackage: string expected"; @@ -15719,7 +16355,7 @@ return "serviceClassNames: string{k:string} expected"; } if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -15734,9 +16370,13 @@ * @param {Object.} object Plain object * @returns {google.api.JavaSettings} JavaSettings */ - JavaSettings.fromObject = function fromObject(object) { + JavaSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.JavaSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.JavaSettings(); if (object.libraryPackage != null) message.libraryPackage = String(object.libraryPackage); @@ -15744,13 +16384,16 @@ if (typeof object.serviceClassNames !== "object") throw TypeError(".google.api.JavaSettings.serviceClassNames: object expected"); message.serviceClassNames = {}; - for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.serviceClassNames, keys[i]); message.serviceClassNames[keys[i]] = String(object.serviceClassNames[keys[i]]); + } } if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.JavaSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -15779,8 +16422,11 @@ var keys2; if (message.serviceClassNames && (keys2 = Object.keys(message.serviceClassNames)).length) { object.serviceClassNames = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.serviceClassNames, keys2[j]); object.serviceClassNames[keys2[j]] = message.serviceClassNames[keys2[j]]; + } } if (message.common != null && message.hasOwnProperty("common")) object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); @@ -15836,7 +16482,7 @@ function CppSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15901,9 +16547,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CppSettings.decode = function decode(reader, length, error) { + CppSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CppSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15911,11 +16561,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15946,11 +16596,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CppSettings.verify = function verify(message) { + CppSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -15965,14 +16619,18 @@ * @param {Object.} object Plain object * @returns {google.api.CppSettings} CppSettings */ - CppSettings.fromObject = function fromObject(object) { + CppSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CppSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CppSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.CppSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -16046,7 +16704,7 @@ function PhpSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16111,9 +16769,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PhpSettings.decode = function decode(reader, length, error) { + PhpSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PhpSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16121,11 +16783,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16156,11 +16818,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PhpSettings.verify = function verify(message) { + PhpSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -16175,14 +16841,18 @@ * @param {Object.} object Plain object * @returns {google.api.PhpSettings} PhpSettings */ - PhpSettings.fromObject = function fromObject(object) { + PhpSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PhpSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PhpSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.PhpSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -16257,7 +16927,7 @@ function PythonSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16332,9 +17002,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PythonSettings.decode = function decode(reader, length, error) { + PythonSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16342,15 +17016,15 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.decode(reader, reader.uint32()); + message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16381,16 +17055,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PythonSettings.verify = function verify(message) { + PythonSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } if (message.experimentalFeatures != null && message.hasOwnProperty("experimentalFeatures")) { - var error = $root.google.api.PythonSettings.ExperimentalFeatures.verify(message.experimentalFeatures); + var error = $root.google.api.PythonSettings.ExperimentalFeatures.verify(message.experimentalFeatures, long + 1); if (error) return "experimentalFeatures." + error; } @@ -16405,19 +17083,23 @@ * @param {Object.} object Plain object * @returns {google.api.PythonSettings} PythonSettings */ - PythonSettings.fromObject = function fromObject(object) { + PythonSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PythonSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PythonSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.PythonSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } if (object.experimentalFeatures != null) { if (typeof object.experimentalFeatures !== "object") throw TypeError(".google.api.PythonSettings.experimentalFeatures: object expected"); - message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.fromObject(object.experimentalFeatures); + message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.fromObject(object.experimentalFeatures, long + 1); } return message; }; @@ -16494,7 +17176,7 @@ function ExperimentalFeatures(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16579,9 +17261,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExperimentalFeatures.decode = function decode(reader, length, error) { + ExperimentalFeatures.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings.ExperimentalFeatures(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16601,7 +17287,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16632,9 +17318,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExperimentalFeatures.verify = function verify(message) { + ExperimentalFeatures.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.restAsyncIoEnabled != null && message.hasOwnProperty("restAsyncIoEnabled")) if (typeof message.restAsyncIoEnabled !== "boolean") return "restAsyncIoEnabled: boolean expected"; @@ -16655,9 +17345,13 @@ * @param {Object.} object Plain object * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures */ - ExperimentalFeatures.fromObject = function fromObject(object) { + ExperimentalFeatures.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PythonSettings.ExperimentalFeatures) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PythonSettings.ExperimentalFeatures(); if (object.restAsyncIoEnabled != null) message.restAsyncIoEnabled = Boolean(object.restAsyncIoEnabled); @@ -16747,7 +17441,7 @@ function NodeSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16812,9 +17506,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NodeSettings.decode = function decode(reader, length, error) { + NodeSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.NodeSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16822,11 +17520,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16857,11 +17555,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NodeSettings.verify = function verify(message) { + NodeSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -16876,14 +17578,18 @@ * @param {Object.} object Plain object * @returns {google.api.NodeSettings} NodeSettings */ - NodeSettings.fromObject = function fromObject(object) { + NodeSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.NodeSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.NodeSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.NodeSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -16967,7 +17673,7 @@ this.handwrittenSignatures = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17087,9 +17793,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DotnetSettings.decode = function decode(reader, length, error) { + DotnetSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -17097,7 +17807,7 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -17116,10 +17826,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedServices, key); message.renamedServices[key] = value; break; } @@ -17139,10 +17851,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedResources, key); message.renamedResources[key] = value; break; } @@ -17165,7 +17879,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17196,11 +17910,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DotnetSettings.verify = function verify(message) { + DotnetSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -17252,28 +17970,38 @@ * @param {Object.} object Plain object * @returns {google.api.DotnetSettings} DotnetSettings */ - DotnetSettings.fromObject = function fromObject(object) { + DotnetSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.DotnetSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.DotnetSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.DotnetSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } if (object.renamedServices) { if (typeof object.renamedServices !== "object") throw TypeError(".google.api.DotnetSettings.renamedServices: object expected"); message.renamedServices = {}; - for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedServices, keys[i]); message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]); + } } if (object.renamedResources) { if (typeof object.renamedResources !== "object") throw TypeError(".google.api.DotnetSettings.renamedResources: object expected"); message.renamedResources = {}; - for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedResources, keys[i]); message.renamedResources[keys[i]] = String(object.renamedResources[keys[i]]); + } } if (object.ignoredResources) { if (!Array.isArray(object.ignoredResources)) @@ -17328,13 +18056,19 @@ var keys2; if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) { object.renamedServices = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedServices, keys2[j]); object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]]; + } } if (message.renamedResources && (keys2 = Object.keys(message.renamedResources)).length) { object.renamedResources = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedResources, keys2[j]); object.renamedResources[keys2[j]] = message.renamedResources[keys2[j]]; + } } if (message.ignoredResources && message.ignoredResources.length) { object.ignoredResources = []; @@ -17403,7 +18137,7 @@ function RubySettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17468,9 +18202,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RubySettings.decode = function decode(reader, length, error) { + RubySettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.RubySettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17478,11 +18216,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17513,11 +18251,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RubySettings.verify = function verify(message) { + RubySettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -17532,14 +18274,18 @@ * @param {Object.} object Plain object * @returns {google.api.RubySettings} RubySettings */ - RubySettings.fromObject = function fromObject(object) { + RubySettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.RubySettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.RubySettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.RubySettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -17615,7 +18361,7 @@ this.renamedServices = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17691,9 +18437,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoSettings.decode = function decode(reader, length, error) { + GoSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -17701,7 +18451,7 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -17720,15 +18470,17 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedServices, key); message.renamedServices[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17759,11 +18511,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GoSettings.verify = function verify(message) { + GoSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -17786,21 +18542,28 @@ * @param {Object.} object Plain object * @returns {google.api.GoSettings} GoSettings */ - GoSettings.fromObject = function fromObject(object) { + GoSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.GoSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.GoSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.GoSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } if (object.renamedServices) { if (typeof object.renamedServices !== "object") throw TypeError(".google.api.GoSettings.renamedServices: object expected"); message.renamedServices = {}; - for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedServices, keys[i]); message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]); + } } return message; }; @@ -17827,8 +18590,11 @@ var keys2; if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) { object.renamedServices = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedServices, keys2[j]); object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]]; + } } return object; }; @@ -17885,7 +18651,7 @@ this.autoPopulatedFields = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17971,9 +18737,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodSettings.decode = function decode(reader, length, error) { + MethodSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17985,7 +18755,7 @@ break; } case 2: { - message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32()); + message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -17995,7 +18765,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18026,14 +18796,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodSettings.verify = function verify(message) { + MethodSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.selector != null && message.hasOwnProperty("selector")) if (!$util.isString(message.selector)) return "selector: string expected"; if (message.longRunning != null && message.hasOwnProperty("longRunning")) { - var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning); + var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning, long + 1); if (error) return "longRunning." + error; } @@ -18055,16 +18829,20 @@ * @param {Object.} object Plain object * @returns {google.api.MethodSettings} MethodSettings */ - MethodSettings.fromObject = function fromObject(object) { + MethodSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.MethodSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.MethodSettings(); if (object.selector != null) message.selector = String(object.selector); if (object.longRunning != null) { if (typeof object.longRunning !== "object") throw TypeError(".google.api.MethodSettings.longRunning: object expected"); - message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning); + message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning, long + 1); } if (object.autoPopulatedFields) { if (!Array.isArray(object.autoPopulatedFields)) @@ -18156,7 +18934,7 @@ function LongRunning(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18251,9 +19029,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LongRunning.decode = function decode(reader, length, error) { + LongRunning.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings.LongRunning(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18261,7 +19043,7 @@ break; switch (tag >>> 3) { case 1: { - message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -18269,15 +19051,15 @@ break; } case 3: { - message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18308,11 +19090,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LongRunning.verify = function verify(message) { + LongRunning.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.initialPollDelay != null && message.hasOwnProperty("initialPollDelay")) { - var error = $root.google.protobuf.Duration.verify(message.initialPollDelay); + var error = $root.google.protobuf.Duration.verify(message.initialPollDelay, long + 1); if (error) return "initialPollDelay." + error; } @@ -18320,12 +19106,12 @@ if (typeof message.pollDelayMultiplier !== "number") return "pollDelayMultiplier: number expected"; if (message.maxPollDelay != null && message.hasOwnProperty("maxPollDelay")) { - var error = $root.google.protobuf.Duration.verify(message.maxPollDelay); + var error = $root.google.protobuf.Duration.verify(message.maxPollDelay, long + 1); if (error) return "maxPollDelay." + error; } if (message.totalPollTimeout != null && message.hasOwnProperty("totalPollTimeout")) { - var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout); + var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout, long + 1); if (error) return "totalPollTimeout." + error; } @@ -18340,26 +19126,30 @@ * @param {Object.} object Plain object * @returns {google.api.MethodSettings.LongRunning} LongRunning */ - LongRunning.fromObject = function fromObject(object) { + LongRunning.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.MethodSettings.LongRunning) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.MethodSettings.LongRunning(); if (object.initialPollDelay != null) { if (typeof object.initialPollDelay !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.initialPollDelay: object expected"); - message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay); + message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay, long + 1); } if (object.pollDelayMultiplier != null) message.pollDelayMultiplier = Number(object.pollDelayMultiplier); if (object.maxPollDelay != null) { if (typeof object.maxPollDelay !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.maxPollDelay: object expected"); - message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay); + message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay, long + 1); } if (object.totalPollTimeout != null) { if (typeof object.totalPollTimeout !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.totalPollTimeout: object expected"); - message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout); + message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout, long + 1); } return message; }; @@ -18490,7 +19280,7 @@ this.methods = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18566,9 +19356,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SelectiveGapicGeneration.decode = function decode(reader, length, error) { + SelectiveGapicGeneration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.SelectiveGapicGeneration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18586,7 +19380,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18617,9 +19411,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SelectiveGapicGeneration.verify = function verify(message) { + SelectiveGapicGeneration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.methods != null && message.hasOwnProperty("methods")) { if (!Array.isArray(message.methods)) return "methods: array expected"; @@ -18641,9 +19439,13 @@ * @param {Object.} object Plain object * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration */ - SelectiveGapicGeneration.fromObject = function fromObject(object) { + SelectiveGapicGeneration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.SelectiveGapicGeneration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.SelectiveGapicGeneration(); if (object.methods) { if (!Array.isArray(object.methods)) @@ -18795,7 +19597,7 @@ this.style = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18925,9 +19727,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceDescriptor.decode = function decode(reader, length, error) { + ResourceDescriptor.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceDescriptor(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18972,7 +19778,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19003,9 +19809,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceDescriptor.verify = function verify(message) { + ResourceDescriptor.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -19057,9 +19867,13 @@ * @param {Object.} object Plain object * @returns {google.api.ResourceDescriptor} ResourceDescriptor */ - ResourceDescriptor.fromObject = function fromObject(object) { + ResourceDescriptor.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ResourceDescriptor) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ResourceDescriptor(); if (object.type != null) message.type = String(object.type); @@ -19247,7 +20061,7 @@ function ResourceReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19322,9 +20136,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceReference.decode = function decode(reader, length, error) { + ResourceReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19340,7 +20158,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19371,9 +20189,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceReference.verify = function verify(message) { + ResourceReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -19391,9 +20213,13 @@ * @param {Object.} object Plain object * @returns {google.api.ResourceReference} ResourceReference */ - ResourceReference.fromObject = function fromObject(object) { + ResourceReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ResourceReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ResourceReference(); if (object.type != null) message.type = String(object.type); @@ -19488,7 +20314,7 @@ this.file = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19554,9 +20380,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorSet.decode = function decode(reader, length, error) { + FileDescriptorSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19566,11 +20396,11 @@ case 1: { if (!(message.file && message.file.length)) message.file = []; - message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); + message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19601,14 +20431,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileDescriptorSet.verify = function verify(message) { + FileDescriptorSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.file != null && message.hasOwnProperty("file")) { if (!Array.isArray(message.file)) return "file: array expected"; for (var i = 0; i < message.file.length; ++i) { - var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]); + var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i], long + 1); if (error) return "file." + error; } @@ -19624,9 +20458,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet */ - FileDescriptorSet.fromObject = function fromObject(object) { + FileDescriptorSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileDescriptorSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileDescriptorSet(); if (object.file) { if (!Array.isArray(object.file)) @@ -19635,7 +20473,7 @@ for (var i = 0; i < object.file.length; ++i) { if (typeof object.file[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected"); - message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]); + message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i], long + 1); } } return message; @@ -19768,7 +20606,7 @@ this.extension = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19971,9 +20809,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorProto.decode = function decode(reader, length, error) { + FileDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20025,33 +20867,33 @@ case 4: { if (!(message.messageType && message.messageType.length)) message.messageType = []; - message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.enumType && message.enumType.length)) message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.service && message.service.length)) message.service = []; - message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); + message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { if (!(message.extension && message.extension.length)) message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { - message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } case 12: { @@ -20063,7 +20905,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20094,9 +20936,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileDescriptorProto.verify = function verify(message) { + FileDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -20135,7 +20981,7 @@ if (!Array.isArray(message.messageType)) return "messageType: array expected"; for (var i = 0; i < message.messageType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]); + var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i], long + 1); if (error) return "messageType." + error; } @@ -20144,7 +20990,7 @@ if (!Array.isArray(message.enumType)) return "enumType: array expected"; for (var i = 0; i < message.enumType.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i], long + 1); if (error) return "enumType." + error; } @@ -20153,7 +20999,7 @@ if (!Array.isArray(message.service)) return "service: array expected"; for (var i = 0; i < message.service.length; ++i) { - var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]); + var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i], long + 1); if (error) return "service." + error; } @@ -20162,18 +21008,18 @@ if (!Array.isArray(message.extension)) return "extension: array expected"; for (var i = 0; i < message.extension.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i], long + 1); if (error) return "extension." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FileOptions.verify(message.options); + var error = $root.google.protobuf.FileOptions.verify(message.options, long + 1); if (error) return "options." + error; } if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) { - var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo); + var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo, long + 1); if (error) return "sourceCodeInfo." + error; } @@ -20209,9 +21055,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto */ - FileDescriptorProto.fromObject = function fromObject(object) { + FileDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -20252,7 +21102,7 @@ for (var i = 0; i < object.messageType.length; ++i) { if (typeof object.messageType[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected"); - message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]); + message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i], long + 1); } } if (object.enumType) { @@ -20262,7 +21112,7 @@ for (var i = 0; i < object.enumType.length; ++i) { if (typeof object.enumType[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected"); - message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i], long + 1); } } if (object.service) { @@ -20272,7 +21122,7 @@ for (var i = 0; i < object.service.length; ++i) { if (typeof object.service[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected"); - message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]); + message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i], long + 1); } } if (object.extension) { @@ -20282,18 +21132,18 @@ for (var i = 0; i < object.extension.length; ++i) { if (typeof object.extension[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected"); - message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.FileOptions.fromObject(object.options); + message.options = $root.google.protobuf.FileOptions.fromObject(object.options, long + 1); } if (object.sourceCodeInfo != null) { if (typeof object.sourceCodeInfo !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected"); - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo, long + 1); } if (object.syntax != null) message.syntax = String(object.syntax); @@ -20509,7 +21359,7 @@ this.reservedName = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20682,9 +21532,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DescriptorProto.decode = function decode(reader, length, error) { + DescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20698,47 +21552,47 @@ case 2: { if (!(message.field && message.field.length)) message.field = []; - message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.extension && message.extension.length)) message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { if (!(message.nestedType && message.nestedType.length)) message.nestedType = []; - message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { if (!(message.enumType && message.enumType.length)) message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.extensionRange && message.extensionRange.length)) message.extensionRange = []; - message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); + message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { if (!(message.oneofDecl && message.oneofDecl.length)) message.oneofDecl = []; - message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); + message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { - message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { if (!(message.reservedRange && message.reservedRange.length)) message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); + message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 10: { @@ -20752,7 +21606,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20783,9 +21637,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DescriptorProto.verify = function verify(message) { + DescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -20793,7 +21651,7 @@ if (!Array.isArray(message.field)) return "field: array expected"; for (var i = 0; i < message.field.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i], long + 1); if (error) return "field." + error; } @@ -20802,7 +21660,7 @@ if (!Array.isArray(message.extension)) return "extension: array expected"; for (var i = 0; i < message.extension.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i], long + 1); if (error) return "extension." + error; } @@ -20811,7 +21669,7 @@ if (!Array.isArray(message.nestedType)) return "nestedType: array expected"; for (var i = 0; i < message.nestedType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]); + var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i], long + 1); if (error) return "nestedType." + error; } @@ -20820,7 +21678,7 @@ if (!Array.isArray(message.enumType)) return "enumType: array expected"; for (var i = 0; i < message.enumType.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i], long + 1); if (error) return "enumType." + error; } @@ -20829,7 +21687,7 @@ if (!Array.isArray(message.extensionRange)) return "extensionRange: array expected"; for (var i = 0; i < message.extensionRange.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]); + var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i], long + 1); if (error) return "extensionRange." + error; } @@ -20838,13 +21696,13 @@ if (!Array.isArray(message.oneofDecl)) return "oneofDecl: array expected"; for (var i = 0; i < message.oneofDecl.length; ++i) { - var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]); + var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i], long + 1); if (error) return "oneofDecl." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MessageOptions.verify(message.options); + var error = $root.google.protobuf.MessageOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -20852,7 +21710,7 @@ if (!Array.isArray(message.reservedRange)) return "reservedRange: array expected"; for (var i = 0; i < message.reservedRange.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]); + var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i], long + 1); if (error) return "reservedRange." + error; } @@ -20884,9 +21742,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto} DescriptorProto */ - DescriptorProto.fromObject = function fromObject(object) { + DescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -20897,7 +21759,7 @@ for (var i = 0; i < object.field.length; ++i) { if (typeof object.field[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.field: object expected"); - message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]); + message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i], long + 1); } } if (object.extension) { @@ -20907,7 +21769,7 @@ for (var i = 0; i < object.extension.length; ++i) { if (typeof object.extension[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.extension: object expected"); - message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i], long + 1); } } if (object.nestedType) { @@ -20917,7 +21779,7 @@ for (var i = 0; i < object.nestedType.length; ++i) { if (typeof object.nestedType[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected"); - message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]); + message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i], long + 1); } } if (object.enumType) { @@ -20927,7 +21789,7 @@ for (var i = 0; i < object.enumType.length; ++i) { if (typeof object.enumType[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected"); - message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i], long + 1); } } if (object.extensionRange) { @@ -20937,7 +21799,7 @@ for (var i = 0; i < object.extensionRange.length; ++i) { if (typeof object.extensionRange[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected"); - message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]); + message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i], long + 1); } } if (object.oneofDecl) { @@ -20947,13 +21809,13 @@ for (var i = 0; i < object.oneofDecl.length; ++i) { if (typeof object.oneofDecl[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected"); - message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]); + message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.DescriptorProto.options: object expected"); - message.options = $root.google.protobuf.MessageOptions.fromObject(object.options); + message.options = $root.google.protobuf.MessageOptions.fromObject(object.options, long + 1); } if (object.reservedRange) { if (!Array.isArray(object.reservedRange)) @@ -20962,7 +21824,7 @@ for (var i = 0; i < object.reservedRange.length; ++i) { if (typeof object.reservedRange[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected"); - message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]); + message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i], long + 1); } } if (object.reservedName) { @@ -21120,7 +21982,7 @@ function ExtensionRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21205,9 +22067,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRange.decode = function decode(reader, length, error) { + ExtensionRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21223,11 +22089,11 @@ break; } case 3: { - message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21258,9 +22124,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExtensionRange.verify = function verify(message) { + ExtensionRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -21268,7 +22138,7 @@ if (!$util.isInteger(message.end)) return "end: integer expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options); + var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -21283,9 +22153,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange */ - ExtensionRange.fromObject = function fromObject(object) { + ExtensionRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); if (object.start != null) message.start = object.start | 0; @@ -21294,7 +22168,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected"); - message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options); + message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options, long + 1); } return message; }; @@ -21376,7 +22250,7 @@ function ReservedRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21451,9 +22325,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReservedRange.decode = function decode(reader, length, error) { + ReservedRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21469,7 +22347,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21500,9 +22378,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReservedRange.verify = function verify(message) { + ReservedRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -21520,9 +22402,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange */ - ReservedRange.fromObject = function fromObject(object) { + ReservedRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto.ReservedRange(); if (object.start != null) message.start = object.start | 0; @@ -21612,7 +22498,7 @@ this.declaration = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21709,9 +22595,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRangeOptions.decode = function decode(reader, length, error) { + ExtensionRangeOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21721,17 +22611,17 @@ case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.declaration && message.declaration.length)) message.declaration = []; - message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32())); + message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 50: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -21739,7 +22629,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21770,14 +22660,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExtensionRangeOptions.verify = function verify(message) { + ExtensionRangeOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -21786,13 +22680,13 @@ if (!Array.isArray(message.declaration)) return "declaration: array expected"; for (var i = 0; i < message.declaration.length; ++i) { - var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i]); + var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i], long + 1); if (error) return "declaration." + error; } } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -21815,9 +22709,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions */ - ExtensionRangeOptions.fromObject = function fromObject(object) { + ExtensionRangeOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ExtensionRangeOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ExtensionRangeOptions(); if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -21826,7 +22724,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object.declaration) { @@ -21836,13 +22734,13 @@ for (var i = 0; i < object.declaration.length; ++i) { if (typeof object.declaration[i] !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: object expected"); - message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i]); + message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i], long + 1); } } if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } switch (object.verification) { case "DECLARATION": @@ -21951,7 +22849,7 @@ function Declaration(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22056,9 +22954,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Declaration.decode = function decode(reader, length, error) { + Declaration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22086,7 +22988,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22117,9 +23019,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Declaration.verify = function verify(message) { + Declaration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.number != null && message.hasOwnProperty("number")) if (!$util.isInteger(message.number)) return "number: integer expected"; @@ -22146,9 +23052,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration */ - Declaration.fromObject = function fromObject(object) { + Declaration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); if (object.number != null) message.number = object.number | 0; @@ -22272,7 +23182,7 @@ function FieldDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22437,9 +23347,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldDescriptorProto.decode = function decode(reader, length, error) { + FieldDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22483,7 +23397,7 @@ break; } case 8: { - message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 17: { @@ -22491,7 +23405,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22522,9 +23436,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldDescriptorProto.verify = function verify(message) { + FieldDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -22580,7 +23498,7 @@ if (!$util.isString(message.jsonName)) return "jsonName: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FieldOptions.verify(message.options); + var error = $root.google.protobuf.FieldOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -22598,9 +23516,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto */ - FieldDescriptorProto.fromObject = function fromObject(object) { + FieldDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -22719,7 +23641,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.FieldOptions.fromObject(object.options); + message.options = $root.google.protobuf.FieldOptions.fromObject(object.options, long + 1); } if (object.proto3Optional != null) message.proto3Optional = Boolean(object.proto3Optional); @@ -22889,7 +23811,7 @@ function OneofDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22964,9 +23886,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofDescriptorProto.decode = function decode(reader, length, error) { + OneofDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22978,11 +23904,11 @@ break; } case 2: { - message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23013,14 +23939,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OneofDescriptorProto.verify = function verify(message) { + OneofDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.OneofOptions.verify(message.options); + var error = $root.google.protobuf.OneofOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -23035,16 +23965,20 @@ * @param {Object.} object Plain object * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto */ - OneofDescriptorProto.fromObject = function fromObject(object) { + OneofDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.OneofDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.OneofDescriptorProto(); if (object.name != null) message.name = String(object.name); if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.OneofOptions.fromObject(object.options); + message.options = $root.google.protobuf.OneofOptions.fromObject(object.options, long + 1); } return message; }; @@ -23130,7 +24064,7 @@ this.reservedName = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23248,9 +24182,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumDescriptorProto.decode = function decode(reader, length, error) { + EnumDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23264,17 +24202,17 @@ case 2: { if (!(message.value && message.value.length)) message.value = []; - message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); + message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { if (!(message.reservedRange && message.reservedRange.length)) message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); + message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { @@ -23288,7 +24226,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23319,9 +24257,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumDescriptorProto.verify = function verify(message) { + EnumDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -23329,13 +24271,13 @@ if (!Array.isArray(message.value)) return "value: array expected"; for (var i = 0; i < message.value.length; ++i) { - var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i]); + var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i], long + 1); if (error) return "value." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumOptions.verify(message.options); + var error = $root.google.protobuf.EnumOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -23343,7 +24285,7 @@ if (!Array.isArray(message.reservedRange)) return "reservedRange: array expected"; for (var i = 0; i < message.reservedRange.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i]); + var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i], long + 1); if (error) return "reservedRange." + error; } @@ -23375,9 +24317,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto */ - EnumDescriptorProto.fromObject = function fromObject(object) { + EnumDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -23388,13 +24334,13 @@ for (var i = 0; i < object.value.length; ++i) { if (typeof object.value[i] !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected"); - message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i]); + message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.EnumOptions.fromObject(object.options); + message.options = $root.google.protobuf.EnumOptions.fromObject(object.options, long + 1); } if (object.reservedRange) { if (!Array.isArray(object.reservedRange)) @@ -23403,7 +24349,7 @@ for (var i = 0; i < object.reservedRange.length; ++i) { if (typeof object.reservedRange[i] !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected"); - message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i]); + message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i], long + 1); } } if (object.reservedName) { @@ -23530,7 +24476,7 @@ function EnumReservedRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23605,9 +24551,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumReservedRange.decode = function decode(reader, length, error) { + EnumReservedRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23623,7 +24573,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23654,9 +24604,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumReservedRange.verify = function verify(message) { + EnumReservedRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -23674,9 +24628,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange */ - EnumReservedRange.fromObject = function fromObject(object) { + EnumReservedRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); if (object.start != null) message.start = object.start | 0; @@ -23763,7 +24721,7 @@ function EnumValueDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23848,9 +24806,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueDescriptorProto.decode = function decode(reader, length, error) { + EnumValueDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23866,11 +24828,11 @@ break; } case 3: { - message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23901,9 +24863,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumValueDescriptorProto.verify = function verify(message) { + EnumValueDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -23911,7 +24877,7 @@ if (!$util.isInteger(message.number)) return "number: integer expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumValueOptions.verify(message.options); + var error = $root.google.protobuf.EnumValueOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -23926,9 +24892,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto */ - EnumValueDescriptorProto.fromObject = function fromObject(object) { + EnumValueDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumValueDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumValueDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -23937,7 +24907,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options); + message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options, long + 1); } return message; }; @@ -24021,7 +24991,7 @@ this.method = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24107,9 +25077,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceDescriptorProto.decode = function decode(reader, length, error) { + ServiceDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24123,15 +25097,15 @@ case 2: { if (!(message.method && message.method.length)) message.method = []; - message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); + message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -24162,9 +25136,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ServiceDescriptorProto.verify = function verify(message) { + ServiceDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -24172,13 +25150,13 @@ if (!Array.isArray(message.method)) return "method: array expected"; for (var i = 0; i < message.method.length; ++i) { - var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i]); + var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i], long + 1); if (error) return "method." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ServiceOptions.verify(message.options); + var error = $root.google.protobuf.ServiceOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -24193,9 +25171,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto */ - ServiceDescriptorProto.fromObject = function fromObject(object) { + ServiceDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ServiceDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ServiceDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -24206,13 +25188,13 @@ for (var i = 0; i < object.method.length; ++i) { if (typeof object.method[i] !== "object") throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected"); - message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i]); + message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options); + message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options, long + 1); } return message; }; @@ -24302,7 +25284,7 @@ function MethodDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24417,9 +25399,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodDescriptorProto.decode = function decode(reader, length, error) { + MethodDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24439,7 +25425,7 @@ break; } case 4: { - message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -24451,7 +25437,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -24482,9 +25468,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodDescriptorProto.verify = function verify(message) { + MethodDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -24495,7 +25485,7 @@ if (!$util.isString(message.outputType)) return "outputType: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MethodOptions.verify(message.options); + var error = $root.google.protobuf.MethodOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -24516,9 +25506,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto */ - MethodDescriptorProto.fromObject = function fromObject(object) { + MethodDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MethodDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MethodDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -24529,7 +25523,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.MethodOptions.fromObject(object.options); + message.options = $root.google.protobuf.MethodOptions.fromObject(object.options, long + 1); } if (object.clientStreaming != null) message.clientStreaming = Boolean(object.clientStreaming); @@ -24646,7 +25640,7 @@ this[".google.api.resourceDefinition"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24923,9 +25917,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.decode = function decode(reader, length, error) { + FileOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -25009,23 +26007,23 @@ break; } case 50: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1053: { if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length)) message[".google.api.resourceDefinition"] = []; - message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32())); + message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -25056,9 +26054,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileOptions.verify = function verify(message) { + FileOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) if (!$util.isString(message.javaPackage)) return "javaPackage: string expected"; @@ -25123,7 +26125,7 @@ if (!$util.isString(message.rubyPackage)) return "rubyPackage: string expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -25131,7 +26133,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -25140,7 +26142,7 @@ if (!Array.isArray(message[".google.api.resourceDefinition"])) return ".google.api.resourceDefinition: array expected"; for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) { - var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i]); + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i], long + 1); if (error) return ".google.api.resourceDefinition." + error; } @@ -25156,9 +26158,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileOptions} FileOptions */ - FileOptions.fromObject = function fromObject(object) { + FileOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileOptions(); if (object.javaPackage != null) message.javaPackage = String(object.javaPackage); @@ -25219,7 +26225,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.FileOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -25228,7 +26234,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.resourceDefinition"]) { @@ -25238,7 +26244,7 @@ for (var i = 0; i < object[".google.api.resourceDefinition"].length; ++i) { if (typeof object[".google.api.resourceDefinition"][i] !== "object") throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: object expected"); - message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i]); + message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i], long + 1); } } return message; @@ -25409,7 +26415,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -25545,9 +26551,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MessageOptions.decode = function decode(reader, length, error) { + MessageOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -25575,21 +26585,21 @@ break; } case 12: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1053: { - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32()); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -25620,9 +26630,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MessageOptions.verify = function verify(message) { + MessageOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) if (typeof message.messageSetWireFormat !== "boolean") return "messageSetWireFormat: boolean expected"; @@ -25639,7 +26653,7 @@ if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") return "deprecatedLegacyJsonFieldConflicts: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -25647,13 +26661,13 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } } if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) { - var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"]); + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"], long + 1); if (error) return ".google.api.resource." + error; } @@ -25668,9 +26682,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MessageOptions} MessageOptions */ - MessageOptions.fromObject = function fromObject(object) { + MessageOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MessageOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MessageOptions(); if (object.messageSetWireFormat != null) message.messageSetWireFormat = Boolean(object.messageSetWireFormat); @@ -25685,7 +26703,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.MessageOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -25694,13 +26712,13 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.resource"] != null) { if (typeof object[".google.api.resource"] !== "object") throw TypeError(".google.protobuf.MessageOptions..google.api.resource: object expected"); - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"]); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"], long + 1); } return message; }; @@ -25819,7 +26837,7 @@ this[".google.api.fieldBehavior"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -26038,9 +27056,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldOptions.decode = function decode(reader, length, error) { + FieldOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -26097,21 +27119,21 @@ case 20: { if (!(message.editionDefaults && message.editionDefaults.length)) message.editionDefaults = []; - message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32())); + message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 21: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 22: { - message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32()); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1052: { @@ -26126,11 +27148,11 @@ break; } case 1055: { - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32()); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -26161,9 +27183,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldOptions.verify = function verify(message) { + FieldOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ctype != null && message.hasOwnProperty("ctype")) switch (message.ctype) { default: @@ -26233,18 +27259,18 @@ if (!Array.isArray(message.editionDefaults)) return "editionDefaults: array expected"; for (var i = 0; i < message.editionDefaults.length; ++i) { - var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i]); + var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i], long + 1); if (error) return "editionDefaults." + error; } } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) { - var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport); + var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport, long + 1); if (error) return "featureSupport." + error; } @@ -26252,7 +27278,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -26277,7 +27303,7 @@ } } if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) { - var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"]); + var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"], long + 1); if (error) return ".google.api.resourceReference." + error; } @@ -26292,9 +27318,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions} FieldOptions */ - FieldOptions.fromObject = function fromObject(object) { + FieldOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions(); switch (object.ctype) { default: @@ -26428,18 +27458,18 @@ for (var i = 0; i < object.editionDefaults.length; ++i) { if (typeof object.editionDefaults[i] !== "object") throw TypeError(".google.protobuf.FieldOptions.editionDefaults: object expected"); - message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i]); + message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i], long + 1); } } if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.FieldOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.featureSupport != null) { if (typeof object.featureSupport !== "object") throw TypeError(".google.protobuf.FieldOptions.featureSupport: object expected"); - message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -26448,7 +27478,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.fieldBehavior"]) { @@ -26503,7 +27533,7 @@ if (object[".google.api.resourceReference"] != null) { if (typeof object[".google.api.resourceReference"] !== "object") throw TypeError(".google.protobuf.FieldOptions..google.api.resourceReference: object expected"); - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"]); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"], long + 1); } return message; }; @@ -26713,7 +27743,7 @@ function EditionDefault(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -26788,9 +27818,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EditionDefault.decode = function decode(reader, length, error) { + EditionDefault.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.EditionDefault(); while (reader.pos < end) { var tag = reader.uint32(); @@ -26806,7 +27840,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -26837,9 +27871,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EditionDefault.verify = function verify(message) { + EditionDefault.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.edition != null && message.hasOwnProperty("edition")) switch (message.edition) { default: @@ -26872,9 +27910,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault */ - EditionDefault.fromObject = function fromObject(object) { + EditionDefault.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions.EditionDefault) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions.EditionDefault(); switch (object.edition) { default: @@ -27013,7 +28055,7 @@ function FeatureSupport(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -27108,9 +28150,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSupport.decode = function decode(reader, length, error) { + FeatureSupport.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.FeatureSupport(); while (reader.pos < end) { var tag = reader.uint32(); @@ -27134,7 +28180,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -27165,9 +28211,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSupport.verify = function verify(message) { + FeatureSupport.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.editionIntroduced != null && message.hasOwnProperty("editionIntroduced")) switch (message.editionIntroduced) { default: @@ -27236,9 +28286,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport */ - FeatureSupport.fromObject = function fromObject(object) { + FeatureSupport.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions.FeatureSupport) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions.FeatureSupport(); switch (object.editionIntroduced) { default: @@ -27497,7 +28551,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -27573,9 +28627,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofOptions.decode = function decode(reader, length, error) { + OneofOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -27583,17 +28641,17 @@ break; switch (tag >>> 3) { case 1: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -27624,11 +28682,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OneofOptions.verify = function verify(message) { + OneofOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -27636,7 +28698,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -27652,14 +28714,18 @@ * @param {Object.} object Plain object * @returns {google.protobuf.OneofOptions} OneofOptions */ - OneofOptions.fromObject = function fromObject(object) { + OneofOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.OneofOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.OneofOptions(); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.OneofOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -27668,7 +28734,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -27755,7 +28821,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -27861,9 +28927,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumOptions.decode = function decode(reader, length, error) { + EnumOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -27883,17 +28953,17 @@ break; } case 7: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -27924,9 +28994,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumOptions.verify = function verify(message) { + EnumOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) if (typeof message.allowAlias !== "boolean") return "allowAlias: boolean expected"; @@ -27937,7 +29011,7 @@ if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") return "deprecatedLegacyJsonFieldConflicts: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -27945,7 +29019,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -27961,9 +29035,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumOptions} EnumOptions */ - EnumOptions.fromObject = function fromObject(object) { + EnumOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumOptions(); if (object.allowAlias != null) message.allowAlias = Boolean(object.allowAlias); @@ -27974,7 +29052,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.EnumOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -27983,7 +29061,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -28080,7 +29158,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -28186,9 +29264,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueOptions.decode = function decode(reader, length, error) { + EnumValueOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -28200,7 +29282,7 @@ break; } case 2: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -28208,17 +29290,17 @@ break; } case 4: { - message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32()); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -28249,14 +29331,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumValueOptions.verify = function verify(message) { + EnumValueOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.deprecated != null && message.hasOwnProperty("deprecated")) if (typeof message.deprecated !== "boolean") return "deprecated: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -28264,7 +29350,7 @@ if (typeof message.debugRedact !== "boolean") return "debugRedact: boolean expected"; if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) { - var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport); + var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport, long + 1); if (error) return "featureSupport." + error; } @@ -28272,7 +29358,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -28288,23 +29374,27 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumValueOptions} EnumValueOptions */ - EnumValueOptions.fromObject = function fromObject(object) { + EnumValueOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumValueOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumValueOptions(); if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.EnumValueOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.debugRedact != null) message.debugRedact = Boolean(object.debugRedact); if (object.featureSupport != null) { if (typeof object.featureSupport !== "object") throw TypeError(".google.protobuf.EnumValueOptions.featureSupport: object expected"); - message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -28313,7 +29403,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -28411,7 +29501,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -28527,9 +29617,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceOptions.decode = function decode(reader, length, error) { + ServiceOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -28537,7 +29631,7 @@ break; switch (tag >>> 3) { case 34: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 33: { @@ -28547,7 +29641,7 @@ case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1049: { @@ -28563,7 +29657,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -28594,11 +29688,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ServiceOptions.verify = function verify(message) { + ServiceOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -28609,7 +29707,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -28634,14 +29732,18 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ServiceOptions} ServiceOptions */ - ServiceOptions.fromObject = function fromObject(object) { + ServiceOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ServiceOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ServiceOptions(); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.ServiceOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); @@ -28652,7 +29754,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.defaultHost"] != null) @@ -28760,7 +29862,7 @@ this[".google.api.methodSignature"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -28877,9 +29979,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodOptions.decode = function decode(reader, length, error) { + MethodOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -28895,17 +30001,17 @@ break; } case 35: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 72295728: { - message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32()); + message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1051: { @@ -28915,7 +30021,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -28946,9 +30052,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodOptions.verify = function verify(message) { + MethodOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.deprecated != null && message.hasOwnProperty("deprecated")) if (typeof message.deprecated !== "boolean") return "deprecated: boolean expected"; @@ -28962,7 +30072,7 @@ break; } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -28970,13 +30080,13 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } } if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) { - var error = $root.google.api.HttpRule.verify(message[".google.api.http"]); + var error = $root.google.api.HttpRule.verify(message[".google.api.http"], long + 1); if (error) return ".google.api.http." + error; } @@ -28998,9 +30108,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MethodOptions} MethodOptions */ - MethodOptions.fromObject = function fromObject(object) { + MethodOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MethodOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MethodOptions(); if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); @@ -29027,7 +30141,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.MethodOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -29036,13 +30150,13 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.http"] != null) { if (typeof object[".google.api.http"] !== "object") throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected"); - message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"]); + message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"], long + 1); } if (object[".google.api.methodSignature"]) { if (!Array.isArray(object[".google.api.methodSignature"])) @@ -29170,7 +30284,7 @@ this.name = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -29296,9 +30410,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UninterpretedOption.decode = function decode(reader, length, error) { + UninterpretedOption.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption(); while (reader.pos < end) { var tag = reader.uint32(); @@ -29308,7 +30426,7 @@ case 2: { if (!(message.name && message.name.length)) message.name = []; - message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); + message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -29336,7 +30454,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -29367,14 +30485,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UninterpretedOption.verify = function verify(message) { + UninterpretedOption.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) { if (!Array.isArray(message.name)) return "name: array expected"; for (var i = 0; i < message.name.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i]); + var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i], long + 1); if (error) return "name." + error; } @@ -29408,9 +30530,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.UninterpretedOption} UninterpretedOption */ - UninterpretedOption.fromObject = function fromObject(object) { + UninterpretedOption.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.UninterpretedOption) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.UninterpretedOption(); if (object.name) { if (!Array.isArray(object.name)) @@ -29419,7 +30545,7 @@ for (var i = 0; i < object.name.length; ++i) { if (typeof object.name[i] !== "object") throw TypeError(".google.protobuf.UninterpretedOption.name: object expected"); - message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i]); + message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i], long + 1); } } if (object.identifierValue != null) @@ -29564,7 +30690,7 @@ function NamePart(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -29637,9 +30763,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NamePart.decode = function decode(reader, length, error) { + NamePart.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart(); while (reader.pos < end) { var tag = reader.uint32(); @@ -29655,7 +30785,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -29690,9 +30820,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NamePart.verify = function verify(message) { + NamePart.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (!$util.isString(message.namePart)) return "namePart: string expected"; if (typeof message.isExtension !== "boolean") @@ -29708,9 +30842,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart */ - NamePart.fromObject = function fromObject(object) { + NamePart.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.UninterpretedOption.NamePart) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.UninterpretedOption.NamePart(); if (object.namePart != null) message.namePart = String(object.namePart); @@ -29802,7 +30940,7 @@ function FeatureSet(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -29937,9 +31075,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSet.decode = function decode(reader, length, error) { + FeatureSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -29979,7 +31121,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -30010,9 +31152,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSet.verify = function verify(message) { + FeatureSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence")) switch (message.fieldPresence) { default: @@ -30099,9 +31245,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSet} FeatureSet */ - FeatureSet.fromObject = function fromObject(object) { + FeatureSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSet(); switch (object.fieldPresence) { default: @@ -30479,7 +31629,7 @@ function VisibilityFeature(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -30534,9 +31684,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VisibilityFeature.decode = function decode(reader, length, error) { + VisibilityFeature.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet.VisibilityFeature(); while (reader.pos < end) { var tag = reader.uint32(); @@ -30544,7 +31698,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -30575,9 +31729,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - VisibilityFeature.verify = function verify(message) { + VisibilityFeature.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -30589,9 +31747,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature */ - VisibilityFeature.fromObject = function fromObject(object) { + VisibilityFeature.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSet.VisibilityFeature) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.protobuf.FeatureSet.VisibilityFeature(); }; @@ -30683,7 +31845,7 @@ this.defaults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -30769,9 +31931,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSetDefaults.decode = function decode(reader, length, error) { + FeatureSetDefaults.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults(); while (reader.pos < end) { var tag = reader.uint32(); @@ -30781,7 +31947,7 @@ case 1: { if (!(message.defaults && message.defaults.length)) message.defaults = []; - message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32())); + message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { @@ -30793,7 +31959,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -30824,14 +31990,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSetDefaults.verify = function verify(message) { + FeatureSetDefaults.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.defaults != null && message.hasOwnProperty("defaults")) { if (!Array.isArray(message.defaults)) return "defaults: array expected"; for (var i = 0; i < message.defaults.length; ++i) { - var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i]); + var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i], long + 1); if (error) return "defaults." + error; } @@ -30883,9 +32053,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults */ - FeatureSetDefaults.fromObject = function fromObject(object) { + FeatureSetDefaults.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSetDefaults) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSetDefaults(); if (object.defaults) { if (!Array.isArray(object.defaults)) @@ -30894,7 +32068,7 @@ for (var i = 0; i < object.defaults.length; ++i) { if (typeof object.defaults[i] !== "object") throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: object expected"); - message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i]); + message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i], long + 1); } } switch (object.minimumEdition) { @@ -31091,7 +32265,7 @@ function FeatureSetEditionDefault(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -31176,9 +32350,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSetEditionDefault.decode = function decode(reader, length, error) { + FeatureSetEditionDefault.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); while (reader.pos < end) { var tag = reader.uint32(); @@ -31190,15 +32368,15 @@ break; } case 4: { - message.overridableFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.overridableFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.fixedFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.fixedFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -31229,9 +32407,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSetEditionDefault.verify = function verify(message) { + FeatureSetEditionDefault.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.edition != null && message.hasOwnProperty("edition")) switch (message.edition) { default: @@ -31251,12 +32433,12 @@ break; } if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures")) { - var error = $root.google.protobuf.FeatureSet.verify(message.overridableFeatures); + var error = $root.google.protobuf.FeatureSet.verify(message.overridableFeatures, long + 1); if (error) return "overridableFeatures." + error; } if (message.fixedFeatures != null && message.hasOwnProperty("fixedFeatures")) { - var error = $root.google.protobuf.FeatureSet.verify(message.fixedFeatures); + var error = $root.google.protobuf.FeatureSet.verify(message.fixedFeatures, long + 1); if (error) return "fixedFeatures." + error; } @@ -31271,9 +32453,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault */ - FeatureSetEditionDefault.fromObject = function fromObject(object) { + FeatureSetEditionDefault.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); switch (object.edition) { default: @@ -31334,12 +32520,12 @@ if (object.overridableFeatures != null) { if (typeof object.overridableFeatures !== "object") throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridableFeatures: object expected"); - message.overridableFeatures = $root.google.protobuf.FeatureSet.fromObject(object.overridableFeatures); + message.overridableFeatures = $root.google.protobuf.FeatureSet.fromObject(object.overridableFeatures, long + 1); } if (object.fixedFeatures != null) { if (typeof object.fixedFeatures !== "object") throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixedFeatures: object expected"); - message.fixedFeatures = $root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures); + message.fixedFeatures = $root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures, long + 1); } return message; }; @@ -31424,7 +32610,7 @@ this.location = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -31490,9 +32676,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SourceCodeInfo.decode = function decode(reader, length, error) { + SourceCodeInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -31502,11 +32692,11 @@ case 1: { if (!(message.location && message.location.length)) message.location = []; - message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); + message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -31537,14 +32727,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SourceCodeInfo.verify = function verify(message) { + SourceCodeInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.location != null && message.hasOwnProperty("location")) { if (!Array.isArray(message.location)) return "location: array expected"; for (var i = 0; i < message.location.length; ++i) { - var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i]); + var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i], long + 1); if (error) return "location." + error; } @@ -31560,9 +32754,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo */ - SourceCodeInfo.fromObject = function fromObject(object) { + SourceCodeInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.SourceCodeInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.SourceCodeInfo(); if (object.location) { if (!Array.isArray(object.location)) @@ -31571,7 +32769,7 @@ for (var i = 0; i < object.location.length; ++i) { if (typeof object.location[i] !== "object") throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected"); - message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i]); + message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i], long + 1); } } return message; @@ -31653,7 +32851,7 @@ this.leadingDetachedComments = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -31767,9 +32965,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Location.decode = function decode(reader, length, error) { + Location.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo.Location(); while (reader.pos < end) { var tag = reader.uint32(); @@ -31813,7 +33015,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -31844,9 +33046,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Location.verify = function verify(message) { + Location.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.path != null && message.hasOwnProperty("path")) { if (!Array.isArray(message.path)) return "path: array expected"; @@ -31885,9 +33091,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.SourceCodeInfo.Location} Location */ - Location.fromObject = function fromObject(object) { + Location.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.SourceCodeInfo.Location) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.SourceCodeInfo.Location(); if (object.path) { if (!Array.isArray(object.path)) @@ -32014,7 +33224,7 @@ this.annotation = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32080,9 +33290,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeneratedCodeInfo.decode = function decode(reader, length, error) { + GeneratedCodeInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32092,11 +33306,11 @@ case 1: { if (!(message.annotation && message.annotation.length)) message.annotation = []; - message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); + message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32127,14 +33341,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GeneratedCodeInfo.verify = function verify(message) { + GeneratedCodeInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.annotation != null && message.hasOwnProperty("annotation")) { if (!Array.isArray(message.annotation)) return "annotation: array expected"; for (var i = 0; i < message.annotation.length; ++i) { - var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i]); + var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i], long + 1); if (error) return "annotation." + error; } @@ -32150,9 +33368,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo */ - GeneratedCodeInfo.fromObject = function fromObject(object) { + GeneratedCodeInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.GeneratedCodeInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.GeneratedCodeInfo(); if (object.annotation) { if (!Array.isArray(object.annotation)) @@ -32161,7 +33383,7 @@ for (var i = 0; i < object.annotation.length; ++i) { if (typeof object.annotation[i] !== "object") throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected"); - message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i]); + message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i], long + 1); } } return message; @@ -32241,7 +33463,7 @@ this.path = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32350,9 +33572,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Annotation.decode = function decode(reader, length, error) { + Annotation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32387,7 +33613,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32418,9 +33644,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Annotation.verify = function verify(message) { + Annotation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.path != null && message.hasOwnProperty("path")) { if (!Array.isArray(message.path)) return "path: array expected"; @@ -32457,9 +33687,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation */ - Annotation.fromObject = function fromObject(object) { + Annotation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); if (object.path) { if (!Array.isArray(object.path)) @@ -32619,7 +33853,7 @@ function Duration(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32694,9 +33928,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Duration.decode = function decode(reader, length, error) { + Duration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32712,7 +33950,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32743,9 +33981,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Duration.verify = function verify(message) { + Duration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.seconds != null && message.hasOwnProperty("seconds")) if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) return "seconds: integer|Long expected"; @@ -32763,9 +34005,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Duration} Duration */ - Duration.fromObject = function fromObject(object) { + Duration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Duration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Duration(); if (object.seconds != null) if ($util.Long) @@ -32860,7 +34106,7 @@ function Empty(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32915,9 +34161,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Empty.decode = function decode(reader, length, error) { + Empty.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Empty(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32925,7 +34175,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32956,9 +34206,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Empty.verify = function verify(message) { + Empty.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -32970,9 +34224,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Empty} Empty */ - Empty.fromObject = function fromObject(object) { + Empty.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Empty) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.protobuf.Empty(); }; @@ -33039,7 +34297,7 @@ this.paths = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33105,9 +34363,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldMask.decode = function decode(reader, length, error) { + FieldMask.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldMask(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33121,7 +34383,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33152,9 +34414,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldMask.verify = function verify(message) { + FieldMask.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.paths != null && message.hasOwnProperty("paths")) { if (!Array.isArray(message.paths)) return "paths: array expected"; @@ -33173,9 +34439,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldMask} FieldMask */ - FieldMask.fromObject = function fromObject(object) { + FieldMask.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldMask) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldMask(); if (object.paths) { if (!Array.isArray(object.paths)) @@ -33260,7 +34530,7 @@ this.fields = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33328,9 +34598,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Struct.decode = function decode(reader, length, error) { + Struct.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Struct(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -33350,18 +34624,20 @@ key = reader.string(); break; case 2: - value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.fields, key); message.fields[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33392,15 +34668,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Struct.verify = function verify(message) { + Struct.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.fields != null && message.hasOwnProperty("fields")) { if (!$util.isObject(message.fields)) return "fields: object expected"; var key = Object.keys(message.fields); for (var i = 0; i < key.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.fields[key[i]]); + var error = $root.google.protobuf.Value.verify(message.fields[key[i]], long + 1); if (error) return "fields." + error; } @@ -33416,18 +34696,24 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Struct} Struct */ - Struct.fromObject = function fromObject(object) { + Struct.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Struct) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Struct(); if (object.fields) { if (typeof object.fields !== "object") throw TypeError(".google.protobuf.Struct.fields: object expected"); message.fields = {}; for (var keys = Object.keys(object.fields), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.fields, keys[i]); if (typeof object.fields[keys[i]] !== "object") throw TypeError(".google.protobuf.Struct.fields: object expected"); - message.fields[keys[i]] = $root.google.protobuf.Value.fromObject(object.fields[keys[i]]); + message.fields[keys[i]] = $root.google.protobuf.Value.fromObject(object.fields[keys[i]], long + 1); } } return message; @@ -33451,8 +34737,11 @@ var keys2; if (message.fields && (keys2 = Object.keys(message.fields)).length) { object.fields = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.fields, keys2[j]); object.fields[keys2[j]] = $root.google.protobuf.Value.toObject(message.fields[keys2[j]], options); + } } return object; }; @@ -33511,7 +34800,7 @@ function Value(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33640,9 +34929,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Value.decode = function decode(reader, length, error) { + Value.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Value(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33666,15 +34959,15 @@ break; } case 5: { - message.structValue = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + message.structValue = $root.google.protobuf.Struct.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.listValue = $root.google.protobuf.ListValue.decode(reader, reader.uint32()); + message.listValue = $root.google.protobuf.ListValue.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33705,9 +34998,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Value.verify = function verify(message) { + Value.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.nullValue != null && message.hasOwnProperty("nullValue")) { properties.kind = 1; @@ -33744,7 +35041,7 @@ return "kind: multiple values"; properties.kind = 1; { - var error = $root.google.protobuf.Struct.verify(message.structValue); + var error = $root.google.protobuf.Struct.verify(message.structValue, long + 1); if (error) return "structValue." + error; } @@ -33754,7 +35051,7 @@ return "kind: multiple values"; properties.kind = 1; { - var error = $root.google.protobuf.ListValue.verify(message.listValue); + var error = $root.google.protobuf.ListValue.verify(message.listValue, long + 1); if (error) return "listValue." + error; } @@ -33770,9 +35067,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Value} Value */ - Value.fromObject = function fromObject(object) { + Value.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Value) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Value(); switch (object.nullValue) { default: @@ -33795,12 +35096,12 @@ if (object.structValue != null) { if (typeof object.structValue !== "object") throw TypeError(".google.protobuf.Value.structValue: object expected"); - message.structValue = $root.google.protobuf.Struct.fromObject(object.structValue); + message.structValue = $root.google.protobuf.Struct.fromObject(object.structValue, long + 1); } if (object.listValue != null) { if (typeof object.listValue !== "object") throw TypeError(".google.protobuf.Value.listValue: object expected"); - message.listValue = $root.google.protobuf.ListValue.fromObject(object.listValue); + message.listValue = $root.google.protobuf.ListValue.fromObject(object.listValue, long + 1); } return message; }; @@ -33913,7 +35214,7 @@ this.values = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33979,9 +35280,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListValue.decode = function decode(reader, length, error) { + ListValue.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ListValue(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33991,11 +35296,11 @@ case 1: { if (!(message.values && message.values.length)) message.values = []; - message.values.push($root.google.protobuf.Value.decode(reader, reader.uint32())); + message.values.push($root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34026,14 +35331,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListValue.verify = function verify(message) { + ListValue.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.values != null && message.hasOwnProperty("values")) { if (!Array.isArray(message.values)) return "values: array expected"; for (var i = 0; i < message.values.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.values[i]); + var error = $root.google.protobuf.Value.verify(message.values[i], long + 1); if (error) return "values." + error; } @@ -34049,9 +35358,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ListValue} ListValue */ - ListValue.fromObject = function fromObject(object) { + ListValue.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ListValue) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ListValue(); if (object.values) { if (!Array.isArray(object.values)) @@ -34060,7 +35373,7 @@ for (var i = 0; i < object.values.length; ++i) { if (typeof object.values[i] !== "object") throw TypeError(".google.protobuf.ListValue.values: object expected"); - message.values[i] = $root.google.protobuf.Value.fromObject(object.values[i]); + message.values[i] = $root.google.protobuf.Value.fromObject(object.values[i], long + 1); } } return message; @@ -34139,7 +35452,7 @@ function Timestamp(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -34214,9 +35527,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Timestamp.decode = function decode(reader, length, error) { + Timestamp.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34232,7 +35549,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34263,9 +35580,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Timestamp.verify = function verify(message) { + Timestamp.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.seconds != null && message.hasOwnProperty("seconds")) if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) return "seconds: integer|Long expected"; @@ -34283,9 +35604,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Timestamp} Timestamp */ - Timestamp.fromObject = function fromObject(object) { + Timestamp.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Timestamp) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Timestamp(); if (object.seconds != null) if ($util.Long) @@ -34382,7 +35707,7 @@ function Any(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -34457,9 +35782,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Any.decode = function decode(reader, length, error) { + Any.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Any(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34475,7 +35804,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34506,9 +35835,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Any.verify = function verify(message) { + Any.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type_url != null && message.hasOwnProperty("type_url")) if (!$util.isString(message.type_url)) return "type_url: string expected"; @@ -34526,9 +35859,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Any} Any */ - Any.fromObject = function fromObject(object) { + Any.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Any) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Any(); if (object.type_url != null) message.type_url = String(object.type_url); @@ -34645,7 +35982,7 @@ this.auditConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -34742,9 +36079,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Policy.decode = function decode(reader, length, error) { + Policy.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.Policy(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34758,13 +36099,13 @@ case 4: { if (!(message.bindings && message.bindings.length)) message.bindings = []; - message.bindings.push($root.google.iam.v1.Binding.decode(reader, reader.uint32())); + message.bindings.push($root.google.iam.v1.Binding.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.auditConfigs && message.auditConfigs.length)) message.auditConfigs = []; - message.auditConfigs.push($root.google.iam.v1.AuditConfig.decode(reader, reader.uint32())); + message.auditConfigs.push($root.google.iam.v1.AuditConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -34772,7 +36113,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34803,9 +36144,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Policy.verify = function verify(message) { + Policy.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isInteger(message.version)) return "version: integer expected"; @@ -34813,7 +36158,7 @@ if (!Array.isArray(message.bindings)) return "bindings: array expected"; for (var i = 0; i < message.bindings.length; ++i) { - var error = $root.google.iam.v1.Binding.verify(message.bindings[i]); + var error = $root.google.iam.v1.Binding.verify(message.bindings[i], long + 1); if (error) return "bindings." + error; } @@ -34822,7 +36167,7 @@ if (!Array.isArray(message.auditConfigs)) return "auditConfigs: array expected"; for (var i = 0; i < message.auditConfigs.length; ++i) { - var error = $root.google.iam.v1.AuditConfig.verify(message.auditConfigs[i]); + var error = $root.google.iam.v1.AuditConfig.verify(message.auditConfigs[i], long + 1); if (error) return "auditConfigs." + error; } @@ -34841,9 +36186,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.Policy} Policy */ - Policy.fromObject = function fromObject(object) { + Policy.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.Policy) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.Policy(); if (object.version != null) message.version = object.version | 0; @@ -34854,7 +36203,7 @@ for (var i = 0; i < object.bindings.length; ++i) { if (typeof object.bindings[i] !== "object") throw TypeError(".google.iam.v1.Policy.bindings: object expected"); - message.bindings[i] = $root.google.iam.v1.Binding.fromObject(object.bindings[i]); + message.bindings[i] = $root.google.iam.v1.Binding.fromObject(object.bindings[i], long + 1); } } if (object.auditConfigs) { @@ -34864,7 +36213,7 @@ for (var i = 0; i < object.auditConfigs.length; ++i) { if (typeof object.auditConfigs[i] !== "object") throw TypeError(".google.iam.v1.Policy.auditConfigs: object expected"); - message.auditConfigs[i] = $root.google.iam.v1.AuditConfig.fromObject(object.auditConfigs[i]); + message.auditConfigs[i] = $root.google.iam.v1.AuditConfig.fromObject(object.auditConfigs[i], long + 1); } } if (object.etag != null) @@ -34971,7 +36320,7 @@ this.members = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -35057,9 +36406,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Binding.decode = function decode(reader, length, error) { + Binding.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.Binding(); while (reader.pos < end) { var tag = reader.uint32(); @@ -35077,11 +36430,11 @@ break; } case 3: { - message.condition = $root.google.type.Expr.decode(reader, reader.uint32()); + message.condition = $root.google.type.Expr.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -35112,9 +36465,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Binding.verify = function verify(message) { + Binding.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.role != null && message.hasOwnProperty("role")) if (!$util.isString(message.role)) return "role: string expected"; @@ -35126,7 +36483,7 @@ return "members: string[] expected"; } if (message.condition != null && message.hasOwnProperty("condition")) { - var error = $root.google.type.Expr.verify(message.condition); + var error = $root.google.type.Expr.verify(message.condition, long + 1); if (error) return "condition." + error; } @@ -35141,9 +36498,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.Binding} Binding */ - Binding.fromObject = function fromObject(object) { + Binding.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.Binding) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.Binding(); if (object.role != null) message.role = String(object.role); @@ -35157,7 +36518,7 @@ if (object.condition != null) { if (typeof object.condition !== "object") throw TypeError(".google.iam.v1.Binding.condition: object expected"); - message.condition = $root.google.type.Expr.fromObject(object.condition); + message.condition = $root.google.type.Expr.fromObject(object.condition, long + 1); } return message; }; @@ -35244,7 +36605,7 @@ this.auditLogConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -35320,9 +36681,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuditConfig.decode = function decode(reader, length, error) { + AuditConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.AuditConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -35336,11 +36701,11 @@ case 3: { if (!(message.auditLogConfigs && message.auditLogConfigs.length)) message.auditLogConfigs = []; - message.auditLogConfigs.push($root.google.iam.v1.AuditLogConfig.decode(reader, reader.uint32())); + message.auditLogConfigs.push($root.google.iam.v1.AuditLogConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -35371,9 +36736,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AuditConfig.verify = function verify(message) { + AuditConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.service != null && message.hasOwnProperty("service")) if (!$util.isString(message.service)) return "service: string expected"; @@ -35381,7 +36750,7 @@ if (!Array.isArray(message.auditLogConfigs)) return "auditLogConfigs: array expected"; for (var i = 0; i < message.auditLogConfigs.length; ++i) { - var error = $root.google.iam.v1.AuditLogConfig.verify(message.auditLogConfigs[i]); + var error = $root.google.iam.v1.AuditLogConfig.verify(message.auditLogConfigs[i], long + 1); if (error) return "auditLogConfigs." + error; } @@ -35397,9 +36766,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.AuditConfig} AuditConfig */ - AuditConfig.fromObject = function fromObject(object) { + AuditConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.AuditConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.AuditConfig(); if (object.service != null) message.service = String(object.service); @@ -35410,7 +36783,7 @@ for (var i = 0; i < object.auditLogConfigs.length; ++i) { if (typeof object.auditLogConfigs[i] !== "object") throw TypeError(".google.iam.v1.AuditConfig.auditLogConfigs: object expected"); - message.auditLogConfigs[i] = $root.google.iam.v1.AuditLogConfig.fromObject(object.auditLogConfigs[i]); + message.auditLogConfigs[i] = $root.google.iam.v1.AuditLogConfig.fromObject(object.auditLogConfigs[i], long + 1); } } return message; @@ -35494,7 +36867,7 @@ this.exemptedMembers = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -35570,9 +36943,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuditLogConfig.decode = function decode(reader, length, error) { + AuditLogConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.AuditLogConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -35590,7 +36967,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -35621,9 +36998,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AuditLogConfig.verify = function verify(message) { + AuditLogConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.logType != null && message.hasOwnProperty("logType")) switch (message.logType) { default: @@ -35652,9 +37033,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.AuditLogConfig} AuditLogConfig */ - AuditLogConfig.fromObject = function fromObject(object) { + AuditLogConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.AuditLogConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.AuditLogConfig(); switch (object.logType) { default: @@ -35787,7 +37172,7 @@ this.auditConfigDeltas = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -35864,9 +37249,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyDelta.decode = function decode(reader, length, error) { + PolicyDelta.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.PolicyDelta(); while (reader.pos < end) { var tag = reader.uint32(); @@ -35876,17 +37265,17 @@ case 1: { if (!(message.bindingDeltas && message.bindingDeltas.length)) message.bindingDeltas = []; - message.bindingDeltas.push($root.google.iam.v1.BindingDelta.decode(reader, reader.uint32())); + message.bindingDeltas.push($root.google.iam.v1.BindingDelta.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.auditConfigDeltas && message.auditConfigDeltas.length)) message.auditConfigDeltas = []; - message.auditConfigDeltas.push($root.google.iam.v1.AuditConfigDelta.decode(reader, reader.uint32())); + message.auditConfigDeltas.push($root.google.iam.v1.AuditConfigDelta.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -35917,14 +37306,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PolicyDelta.verify = function verify(message) { + PolicyDelta.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bindingDeltas != null && message.hasOwnProperty("bindingDeltas")) { if (!Array.isArray(message.bindingDeltas)) return "bindingDeltas: array expected"; for (var i = 0; i < message.bindingDeltas.length; ++i) { - var error = $root.google.iam.v1.BindingDelta.verify(message.bindingDeltas[i]); + var error = $root.google.iam.v1.BindingDelta.verify(message.bindingDeltas[i], long + 1); if (error) return "bindingDeltas." + error; } @@ -35933,7 +37326,7 @@ if (!Array.isArray(message.auditConfigDeltas)) return "auditConfigDeltas: array expected"; for (var i = 0; i < message.auditConfigDeltas.length; ++i) { - var error = $root.google.iam.v1.AuditConfigDelta.verify(message.auditConfigDeltas[i]); + var error = $root.google.iam.v1.AuditConfigDelta.verify(message.auditConfigDeltas[i], long + 1); if (error) return "auditConfigDeltas." + error; } @@ -35949,9 +37342,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.PolicyDelta} PolicyDelta */ - PolicyDelta.fromObject = function fromObject(object) { + PolicyDelta.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.PolicyDelta) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.PolicyDelta(); if (object.bindingDeltas) { if (!Array.isArray(object.bindingDeltas)) @@ -35960,7 +37357,7 @@ for (var i = 0; i < object.bindingDeltas.length; ++i) { if (typeof object.bindingDeltas[i] !== "object") throw TypeError(".google.iam.v1.PolicyDelta.bindingDeltas: object expected"); - message.bindingDeltas[i] = $root.google.iam.v1.BindingDelta.fromObject(object.bindingDeltas[i]); + message.bindingDeltas[i] = $root.google.iam.v1.BindingDelta.fromObject(object.bindingDeltas[i], long + 1); } } if (object.auditConfigDeltas) { @@ -35970,7 +37367,7 @@ for (var i = 0; i < object.auditConfigDeltas.length; ++i) { if (typeof object.auditConfigDeltas[i] !== "object") throw TypeError(".google.iam.v1.PolicyDelta.auditConfigDeltas: object expected"); - message.auditConfigDeltas[i] = $root.google.iam.v1.AuditConfigDelta.fromObject(object.auditConfigDeltas[i]); + message.auditConfigDeltas[i] = $root.google.iam.v1.AuditConfigDelta.fromObject(object.auditConfigDeltas[i], long + 1); } } return message; @@ -36058,7 +37455,7 @@ function BindingDelta(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -36153,9 +37550,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BindingDelta.decode = function decode(reader, length, error) { + BindingDelta.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.BindingDelta(); while (reader.pos < end) { var tag = reader.uint32(); @@ -36175,11 +37576,11 @@ break; } case 4: { - message.condition = $root.google.type.Expr.decode(reader, reader.uint32()); + message.condition = $root.google.type.Expr.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -36210,9 +37611,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BindingDelta.verify = function verify(message) { + BindingDelta.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.action != null && message.hasOwnProperty("action")) switch (message.action) { default: @@ -36229,7 +37634,7 @@ if (!$util.isString(message.member)) return "member: string expected"; if (message.condition != null && message.hasOwnProperty("condition")) { - var error = $root.google.type.Expr.verify(message.condition); + var error = $root.google.type.Expr.verify(message.condition, long + 1); if (error) return "condition." + error; } @@ -36244,9 +37649,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.BindingDelta} BindingDelta */ - BindingDelta.fromObject = function fromObject(object) { + BindingDelta.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.BindingDelta) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.BindingDelta(); switch (object.action) { default: @@ -36275,7 +37684,7 @@ if (object.condition != null) { if (typeof object.condition !== "object") throw TypeError(".google.iam.v1.BindingDelta.condition: object expected"); - message.condition = $root.google.type.Expr.fromObject(object.condition); + message.condition = $root.google.type.Expr.fromObject(object.condition, long + 1); } return message; }; @@ -36378,7 +37787,7 @@ function AuditConfigDelta(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -36473,9 +37882,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuditConfigDelta.decode = function decode(reader, length, error) { + AuditConfigDelta.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.AuditConfigDelta(); while (reader.pos < end) { var tag = reader.uint32(); @@ -36499,7 +37912,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -36530,9 +37943,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AuditConfigDelta.verify = function verify(message) { + AuditConfigDelta.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.action != null && message.hasOwnProperty("action")) switch (message.action) { default: @@ -36562,9 +37979,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.AuditConfigDelta} AuditConfigDelta */ - AuditConfigDelta.fromObject = function fromObject(object) { + AuditConfigDelta.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.AuditConfigDelta) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.AuditConfigDelta(); switch (object.action) { default: @@ -36708,7 +38129,7 @@ function Expr(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -36803,9 +38224,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Expr.decode = function decode(reader, length, error) { + Expr.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.type.Expr(); while (reader.pos < end) { var tag = reader.uint32(); @@ -36829,7 +38254,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -36860,9 +38285,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Expr.verify = function verify(message) { + Expr.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.expression != null && message.hasOwnProperty("expression")) if (!$util.isString(message.expression)) return "expression: string expected"; @@ -36886,9 +38315,13 @@ * @param {Object.} object Plain object * @returns {google.type.Expr} Expr */ - Expr.fromObject = function fromObject(object) { + Expr.fromObject = function fromObject(object, long) { if (object instanceof $root.google.type.Expr) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.type.Expr(); if (object.expression != null) message.expression = String(object.expression); @@ -36995,7 +38428,7 @@ this.details = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -37081,9 +38514,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Status.decode = function decode(reader, length, error) { + Status.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.Status(); while (reader.pos < end) { var tag = reader.uint32(); @@ -37101,11 +38538,11 @@ case 3: { if (!(message.details && message.details.length)) message.details = []; - message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32())); + message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -37136,9 +38573,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Status.verify = function verify(message) { + Status.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.code != null && message.hasOwnProperty("code")) if (!$util.isInteger(message.code)) return "code: integer expected"; @@ -37149,7 +38590,7 @@ if (!Array.isArray(message.details)) return "details: array expected"; for (var i = 0; i < message.details.length; ++i) { - var error = $root.google.protobuf.Any.verify(message.details[i]); + var error = $root.google.protobuf.Any.verify(message.details[i], long + 1); if (error) return "details." + error; } @@ -37165,9 +38606,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.Status} Status */ - Status.fromObject = function fromObject(object) { + Status.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.Status) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.Status(); if (object.code != null) message.code = object.code | 0; @@ -37180,7 +38625,7 @@ for (var i = 0; i < object.details.length; ++i) { if (typeof object.details[i] !== "object") throw TypeError(".google.rpc.Status.details: object expected"); - message.details[i] = $root.google.protobuf.Any.fromObject(object.details[i]); + message.details[i] = $root.google.protobuf.Any.fromObject(object.details[i], long + 1); } } return message; diff --git a/packages/google-cloud-servicedirectory/README.md b/packages/google-cloud-servicedirectory/README.md index c50971627147..b7a2a3e039d6 100644 --- a/packages/google-cloud-servicedirectory/README.md +++ b/packages/google-cloud-servicedirectory/README.md @@ -77,7 +77,6 @@ Samples are in the [`samples/`][homepage_samples] directory. Each sample's `READ | update endpoint | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicedirectory/samples/generated/v1/registration_service.update_endpoint.js) | | update namespace | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicedirectory/samples/generated/v1/registration_service.update_namespace.js) | | update service | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicedirectory/samples/generated/v1/registration_service.update_service.js) | -| cloud | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicedirectory/samples/generated/v1/snippet_metadata_google.cloud.servicedirectory.v1.json) | | resolve service | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicedirectory/samples/generated/v1beta1/lookup_service.resolve_service.js) | | create endpoint | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicedirectory/samples/generated/v1beta1/registration_service.create_endpoint.js) | | create namespace | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicedirectory/samples/generated/v1beta1/registration_service.create_namespace.js) | @@ -97,7 +96,6 @@ Samples are in the [`samples/`][homepage_samples] directory. Each sample's `READ | update endpoint | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicedirectory/samples/generated/v1beta1/registration_service.update_endpoint.js) | | update namespace | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicedirectory/samples/generated/v1beta1/registration_service.update_namespace.js) | | update service | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicedirectory/samples/generated/v1beta1/registration_service.update_service.js) | -| cloud | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicedirectory/samples/generated/v1beta1/snippet_metadata_google.cloud.servicedirectory.v1beta1.json) | ## Supported Node.js Versions @@ -131,7 +129,7 @@ More Information: [Google Cloud Platform Launch Stages][launch_stages] ## Contributing -Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicedirectory/CONTRIBUTING.md). +Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/main/CONTRIBUTING.md). Please note that this `README.md` and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`) @@ -141,7 +139,7 @@ are generated from a central template. Apache Version 2.0 -See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicedirectory/LICENSE) +See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/LICENSE) [shell_img]: https://gstatic.com/cloudssh/images/open-btn.png [projects]: https://console.cloud.google.com/project diff --git a/packages/google-cloud-servicedirectory/protos/protos.d.ts b/packages/google-cloud-servicedirectory/protos/protos.d.ts index f1b888d2baee..144c7030bdd6 100644 --- a/packages/google-cloud-servicedirectory/protos/protos.d.ts +++ b/packages/google-cloud-servicedirectory/protos/protos.d.ts @@ -6493,6 +6493,9 @@ export namespace google { /** CommonLanguageSettings destinations */ destinations?: (google.api.ClientLibraryDestination[]|null); + + /** CommonLanguageSettings selectiveGapicGeneration */ + selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null); } /** Represents a CommonLanguageSettings. */ @@ -6510,6 +6513,9 @@ export namespace google { /** CommonLanguageSettings destinations. */ public destinations: google.api.ClientLibraryDestination[]; + /** CommonLanguageSettings selectiveGapicGeneration. */ + public selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null); + /** * Creates a new CommonLanguageSettings instance using the specified properties. * @param [properties] Properties to set @@ -7210,6 +7216,9 @@ export namespace google { /** PythonSettings common */ common?: (google.api.ICommonLanguageSettings|null); + + /** PythonSettings experimentalFeatures */ + experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|null); } /** Represents a PythonSettings. */ @@ -7224,6 +7233,9 @@ export namespace google { /** PythonSettings common. */ public common?: (google.api.ICommonLanguageSettings|null); + /** PythonSettings experimentalFeatures. */ + public experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|null); + /** * Creates a new PythonSettings instance using the specified properties. * @param [properties] Properties to set @@ -7302,6 +7314,118 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } + namespace PythonSettings { + + /** Properties of an ExperimentalFeatures. */ + interface IExperimentalFeatures { + + /** ExperimentalFeatures restAsyncIoEnabled */ + restAsyncIoEnabled?: (boolean|null); + + /** ExperimentalFeatures protobufPythonicTypesEnabled */ + protobufPythonicTypesEnabled?: (boolean|null); + + /** ExperimentalFeatures unversionedPackageDisabled */ + unversionedPackageDisabled?: (boolean|null); + } + + /** Represents an ExperimentalFeatures. */ + class ExperimentalFeatures implements IExperimentalFeatures { + + /** + * Constructs a new ExperimentalFeatures. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.PythonSettings.IExperimentalFeatures); + + /** ExperimentalFeatures restAsyncIoEnabled. */ + public restAsyncIoEnabled: boolean; + + /** ExperimentalFeatures protobufPythonicTypesEnabled. */ + public protobufPythonicTypesEnabled: boolean; + + /** ExperimentalFeatures unversionedPackageDisabled. */ + public unversionedPackageDisabled: boolean; + + /** + * Creates a new ExperimentalFeatures instance using the specified properties. + * @param [properties] Properties to set + * @returns ExperimentalFeatures instance + */ + public static create(properties?: google.api.PythonSettings.IExperimentalFeatures): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Encodes the specified ExperimentalFeatures message. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @param message ExperimentalFeatures message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExperimentalFeatures message, length delimited. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @param message ExperimentalFeatures message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Verifies an ExperimentalFeatures message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ExperimentalFeatures message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExperimentalFeatures + */ + public static fromObject(object: { [k: string]: any }): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Creates a plain object from an ExperimentalFeatures message. Also converts values to other types if specified. + * @param message ExperimentalFeatures + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.PythonSettings.ExperimentalFeatures, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExperimentalFeatures to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExperimentalFeatures + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + /** Properties of a NodeSettings. */ interface INodeSettings { @@ -7628,6 +7752,9 @@ export namespace google { /** GoSettings common */ common?: (google.api.ICommonLanguageSettings|null); + + /** GoSettings renamedServices */ + renamedServices?: ({ [k: string]: string }|null); } /** Represents a GoSettings. */ @@ -7642,6 +7769,9 @@ export namespace google { /** GoSettings common. */ public common?: (google.api.ICommonLanguageSettings|null); + /** GoSettings renamedServices. */ + public renamedServices: { [k: string]: string }; + /** * Creates a new GoSettings instance using the specified properties. * @param [properties] Properties to set @@ -7966,6 +8096,109 @@ export namespace google { PACKAGE_MANAGER = 20 } + /** Properties of a SelectiveGapicGeneration. */ + interface ISelectiveGapicGeneration { + + /** SelectiveGapicGeneration methods */ + methods?: (string[]|null); + + /** SelectiveGapicGeneration generateOmittedAsInternal */ + generateOmittedAsInternal?: (boolean|null); + } + + /** Represents a SelectiveGapicGeneration. */ + class SelectiveGapicGeneration implements ISelectiveGapicGeneration { + + /** + * Constructs a new SelectiveGapicGeneration. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.ISelectiveGapicGeneration); + + /** SelectiveGapicGeneration methods. */ + public methods: string[]; + + /** SelectiveGapicGeneration generateOmittedAsInternal. */ + public generateOmittedAsInternal: boolean; + + /** + * Creates a new SelectiveGapicGeneration instance using the specified properties. + * @param [properties] Properties to set + * @returns SelectiveGapicGeneration instance + */ + public static create(properties?: google.api.ISelectiveGapicGeneration): google.api.SelectiveGapicGeneration; + + /** + * Encodes the specified SelectiveGapicGeneration message. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @param message SelectiveGapicGeneration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SelectiveGapicGeneration message, length delimited. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @param message SelectiveGapicGeneration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.SelectiveGapicGeneration; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.SelectiveGapicGeneration; + + /** + * Verifies a SelectiveGapicGeneration message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SelectiveGapicGeneration message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SelectiveGapicGeneration + */ + public static fromObject(object: { [k: string]: any }): google.api.SelectiveGapicGeneration; + + /** + * Creates a plain object from a SelectiveGapicGeneration message. Also converts values to other types if specified. + * @param message SelectiveGapicGeneration + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.SelectiveGapicGeneration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SelectiveGapicGeneration to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SelectiveGapicGeneration + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + /** LaunchStage enum. */ enum LaunchStage { LAUNCH_STAGE_UNSPECIFIED = 0, @@ -8082,6 +8315,7 @@ export namespace google { /** Edition enum. */ enum Edition { EDITION_UNKNOWN = 0, + EDITION_LEGACY = 900, EDITION_PROTO2 = 998, EDITION_PROTO3 = 999, EDITION_2023 = 1000, @@ -8112,6 +8346,9 @@ export namespace google { /** FileDescriptorProto weakDependency */ weakDependency?: (number[]|null); + /** FileDescriptorProto optionDependency */ + optionDependency?: (string[]|null); + /** FileDescriptorProto messageType */ messageType?: (google.protobuf.IDescriptorProto[]|null); @@ -8161,6 +8398,9 @@ export namespace google { /** FileDescriptorProto weakDependency. */ public weakDependency: number[]; + /** FileDescriptorProto optionDependency. */ + public optionDependency: string[]; + /** FileDescriptorProto messageType. */ public messageType: google.protobuf.IDescriptorProto[]; @@ -8295,6 +8535,9 @@ export namespace google { /** DescriptorProto reservedName */ reservedName?: (string[]|null); + + /** DescriptorProto visibility */ + visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|null); } /** Represents a DescriptorProto. */ @@ -8336,6 +8579,9 @@ export namespace google { /** DescriptorProto reservedName. */ public reservedName: string[]; + /** DescriptorProto visibility. */ + public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility); + /** * Creates a new DescriptorProto instance using the specified properties. * @param [properties] Properties to set @@ -9183,6 +9429,9 @@ export namespace google { /** EnumDescriptorProto reservedName */ reservedName?: (string[]|null); + + /** EnumDescriptorProto visibility */ + visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|null); } /** Represents an EnumDescriptorProto. */ @@ -9209,6 +9458,9 @@ export namespace google { /** EnumDescriptorProto reservedName. */ public reservedName: string[]; + /** EnumDescriptorProto visibility. */ + public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility); + /** * Creates a new EnumDescriptorProto instance using the specified properties. * @param [properties] Properties to set @@ -10143,6 +10395,9 @@ export namespace google { /** FieldOptions features */ features?: (google.protobuf.IFeatureSet|null); + /** FieldOptions featureSupport */ + featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + /** FieldOptions uninterpretedOption */ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); @@ -10198,6 +10453,9 @@ export namespace google { /** FieldOptions features. */ public features?: (google.protobuf.IFeatureSet|null); + /** FieldOptions featureSupport. */ + public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + /** FieldOptions uninterpretedOption. */ public uninterpretedOption: google.protobuf.IUninterpretedOption[]; @@ -10418,6 +10676,121 @@ export namespace google { */ public static getTypeUrl(typeUrlPrefix?: string): string; } + + /** Properties of a FeatureSupport. */ + interface IFeatureSupport { + + /** FeatureSupport editionIntroduced */ + editionIntroduced?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + + /** FeatureSupport editionDeprecated */ + editionDeprecated?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + + /** FeatureSupport deprecationWarning */ + deprecationWarning?: (string|null); + + /** FeatureSupport editionRemoved */ + editionRemoved?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + } + + /** Represents a FeatureSupport. */ + class FeatureSupport implements IFeatureSupport { + + /** + * Constructs a new FeatureSupport. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.FieldOptions.IFeatureSupport); + + /** FeatureSupport editionIntroduced. */ + public editionIntroduced: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** FeatureSupport editionDeprecated. */ + public editionDeprecated: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** FeatureSupport deprecationWarning. */ + public deprecationWarning: string; + + /** FeatureSupport editionRemoved. */ + public editionRemoved: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** + * Creates a new FeatureSupport instance using the specified properties. + * @param [properties] Properties to set + * @returns FeatureSupport instance + */ + public static create(properties?: google.protobuf.FieldOptions.IFeatureSupport): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Encodes the specified FeatureSupport message. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @param message FeatureSupport message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FeatureSupport message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @param message FeatureSupport message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Verifies a FeatureSupport message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FeatureSupport message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FeatureSupport + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Creates a plain object from a FeatureSupport message. Also converts values to other types if specified. + * @param message FeatureSupport + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldOptions.FeatureSupport, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FeatureSupport to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FeatureSupport + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } } /** Properties of an OneofOptions. */ @@ -10656,6 +11029,9 @@ export namespace google { /** EnumValueOptions debugRedact */ debugRedact?: (boolean|null); + /** EnumValueOptions featureSupport */ + featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + /** EnumValueOptions uninterpretedOption */ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); } @@ -10678,6 +11054,9 @@ export namespace google { /** EnumValueOptions debugRedact. */ public debugRedact: boolean; + /** EnumValueOptions featureSupport. */ + public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + /** EnumValueOptions uninterpretedOption. */ public uninterpretedOption: google.protobuf.IUninterpretedOption[]; @@ -11267,6 +11646,12 @@ export namespace google { /** FeatureSet jsonFormat */ jsonFormat?: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat|null); + + /** FeatureSet enforceNamingStyle */ + enforceNamingStyle?: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle|null); + + /** FeatureSet defaultSymbolVisibility */ + defaultSymbolVisibility?: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|null); } /** Represents a FeatureSet. */ @@ -11296,6 +11681,12 @@ export namespace google { /** FeatureSet jsonFormat. */ public jsonFormat: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat); + /** FeatureSet enforceNamingStyle. */ + public enforceNamingStyle: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle); + + /** FeatureSet defaultSymbolVisibility. */ + public defaultSymbolVisibility: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility); + /** * Creates a new FeatureSet instance using the specified properties. * @param [properties] Properties to set @@ -11418,6 +11809,116 @@ export namespace google { ALLOW = 1, LEGACY_BEST_EFFORT = 2 } + + /** EnforceNamingStyle enum. */ + enum EnforceNamingStyle { + ENFORCE_NAMING_STYLE_UNKNOWN = 0, + STYLE2024 = 1, + STYLE_LEGACY = 2 + } + + /** Properties of a VisibilityFeature. */ + interface IVisibilityFeature { + } + + /** Represents a VisibilityFeature. */ + class VisibilityFeature implements IVisibilityFeature { + + /** + * Constructs a new VisibilityFeature. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.FeatureSet.IVisibilityFeature); + + /** + * Creates a new VisibilityFeature instance using the specified properties. + * @param [properties] Properties to set + * @returns VisibilityFeature instance + */ + public static create(properties?: google.protobuf.FeatureSet.IVisibilityFeature): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Encodes the specified VisibilityFeature message. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @param message VisibilityFeature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VisibilityFeature message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @param message VisibilityFeature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Verifies a VisibilityFeature message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VisibilityFeature message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VisibilityFeature + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Creates a plain object from a VisibilityFeature message. Also converts values to other types if specified. + * @param message VisibilityFeature + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FeatureSet.VisibilityFeature, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VisibilityFeature to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VisibilityFeature + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace VisibilityFeature { + + /** DefaultSymbolVisibility enum. */ + enum DefaultSymbolVisibility { + DEFAULT_SYMBOL_VISIBILITY_UNKNOWN = 0, + EXPORT_ALL = 1, + EXPORT_TOP_LEVEL = 2, + LOCAL_ALL = 3, + STRICT = 4 + } + } } /** Properties of a FeatureSetDefaults. */ @@ -11537,8 +12038,11 @@ export namespace google { /** FeatureSetEditionDefault edition */ edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); - /** FeatureSetEditionDefault features */ - features?: (google.protobuf.IFeatureSet|null); + /** FeatureSetEditionDefault overridableFeatures */ + overridableFeatures?: (google.protobuf.IFeatureSet|null); + + /** FeatureSetEditionDefault fixedFeatures */ + fixedFeatures?: (google.protobuf.IFeatureSet|null); } /** Represents a FeatureSetEditionDefault. */ @@ -11553,8 +12057,11 @@ export namespace google { /** FeatureSetEditionDefault edition. */ public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); - /** FeatureSetEditionDefault features. */ - public features?: (google.protobuf.IFeatureSet|null); + /** FeatureSetEditionDefault overridableFeatures. */ + public overridableFeatures?: (google.protobuf.IFeatureSet|null); + + /** FeatureSetEditionDefault fixedFeatures. */ + public fixedFeatures?: (google.protobuf.IFeatureSet|null); /** * Creates a new FeatureSetEditionDefault instance using the specified properties. @@ -12087,6 +12594,13 @@ export namespace google { } } + /** SymbolVisibility enum. */ + enum SymbolVisibility { + VISIBILITY_UNSET = 0, + VISIBILITY_LOCAL = 1, + VISIBILITY_EXPORT = 2 + } + /** Properties of a Duration. */ interface IDuration { diff --git a/packages/google-cloud-servicedirectory/protos/protos.js b/packages/google-cloud-servicedirectory/protos/protos.js index 8de2ee233ef9..72104c0c70db 100644 --- a/packages/google-cloud-servicedirectory/protos/protos.js +++ b/packages/google-cloud-servicedirectory/protos/protos.js @@ -92,7 +92,7 @@ this.annotations = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -208,9 +208,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Endpoint.decode = function decode(reader, length, error) { + Endpoint.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.Endpoint(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -245,10 +249,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.annotations, key); message.annotations[key] = value; break; } @@ -261,7 +267,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -292,9 +298,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Endpoint.verify = function verify(message) { + Endpoint.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -329,9 +339,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.Endpoint} Endpoint */ - Endpoint.fromObject = function fromObject(object) { + Endpoint.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.Endpoint) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.Endpoint(); if (object.name != null) message.name = String(object.name); @@ -343,8 +357,11 @@ if (typeof object.annotations !== "object") throw TypeError(".google.cloud.servicedirectory.v1.Endpoint.annotations: object expected"); message.annotations = {}; - for (var keys = Object.keys(object.annotations), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.annotations), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.annotations, keys[i]); message.annotations[keys[i]] = String(object.annotations[keys[i]]); + } } if (object.network != null) message.network = String(object.network); @@ -384,8 +401,11 @@ var keys2; if (message.annotations && (keys2 = Object.keys(message.annotations)).length) { object.annotations = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.annotations, keys2[j]); object.annotations[keys2[j]] = message.annotations[keys2[j]]; + } } if (message.network != null && message.hasOwnProperty("network")) object.network = message.network; @@ -513,7 +533,7 @@ function ResolveServiceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -598,9 +618,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResolveServiceRequest.decode = function decode(reader, length, error) { + ResolveServiceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.ResolveServiceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -620,7 +644,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -651,9 +675,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResolveServiceRequest.verify = function verify(message) { + ResolveServiceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -674,9 +702,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.ResolveServiceRequest} ResolveServiceRequest */ - ResolveServiceRequest.fromObject = function fromObject(object) { + ResolveServiceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.ResolveServiceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.ResolveServiceRequest(); if (object.name != null) message.name = String(object.name); @@ -763,7 +795,7 @@ function ResolveServiceResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -828,9 +860,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResolveServiceResponse.decode = function decode(reader, length, error) { + ResolveServiceResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.ResolveServiceResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -838,11 +874,11 @@ break; switch (tag >>> 3) { case 1: { - message.service = $root.google.cloud.servicedirectory.v1.Service.decode(reader, reader.uint32()); + message.service = $root.google.cloud.servicedirectory.v1.Service.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -873,11 +909,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResolveServiceResponse.verify = function verify(message) { + ResolveServiceResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.service != null && message.hasOwnProperty("service")) { - var error = $root.google.cloud.servicedirectory.v1.Service.verify(message.service); + var error = $root.google.cloud.servicedirectory.v1.Service.verify(message.service, long + 1); if (error) return "service." + error; } @@ -892,14 +932,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.ResolveServiceResponse} ResolveServiceResponse */ - ResolveServiceResponse.fromObject = function fromObject(object) { + ResolveServiceResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.ResolveServiceResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.ResolveServiceResponse(); if (object.service != null) { if (typeof object.service !== "object") throw TypeError(".google.cloud.servicedirectory.v1.ResolveServiceResponse.service: object expected"); - message.service = $root.google.cloud.servicedirectory.v1.Service.fromObject(object.service); + message.service = $root.google.cloud.servicedirectory.v1.Service.fromObject(object.service, long + 1); } return message; }; @@ -978,7 +1022,7 @@ this.endpoints = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1075,9 +1119,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Service.decode = function decode(reader, length, error) { + Service.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.Service(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -1104,17 +1152,19 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.annotations, key); message.annotations[key] = value; break; } case 3: { if (!(message.endpoints && message.endpoints.length)) message.endpoints = []; - message.endpoints.push($root.google.cloud.servicedirectory.v1.Endpoint.decode(reader, reader.uint32())); + message.endpoints.push($root.google.cloud.servicedirectory.v1.Endpoint.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { @@ -1122,7 +1172,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1153,9 +1203,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Service.verify = function verify(message) { + Service.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -1171,7 +1225,7 @@ if (!Array.isArray(message.endpoints)) return "endpoints: array expected"; for (var i = 0; i < message.endpoints.length; ++i) { - var error = $root.google.cloud.servicedirectory.v1.Endpoint.verify(message.endpoints[i]); + var error = $root.google.cloud.servicedirectory.v1.Endpoint.verify(message.endpoints[i], long + 1); if (error) return "endpoints." + error; } @@ -1190,9 +1244,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.Service} Service */ - Service.fromObject = function fromObject(object) { + Service.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.Service) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.Service(); if (object.name != null) message.name = String(object.name); @@ -1200,8 +1258,11 @@ if (typeof object.annotations !== "object") throw TypeError(".google.cloud.servicedirectory.v1.Service.annotations: object expected"); message.annotations = {}; - for (var keys = Object.keys(object.annotations), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.annotations), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.annotations, keys[i]); message.annotations[keys[i]] = String(object.annotations[keys[i]]); + } } if (object.endpoints) { if (!Array.isArray(object.endpoints)) @@ -1210,7 +1271,7 @@ for (var i = 0; i < object.endpoints.length; ++i) { if (typeof object.endpoints[i] !== "object") throw TypeError(".google.cloud.servicedirectory.v1.Service.endpoints: object expected"); - message.endpoints[i] = $root.google.cloud.servicedirectory.v1.Endpoint.fromObject(object.endpoints[i]); + message.endpoints[i] = $root.google.cloud.servicedirectory.v1.Endpoint.fromObject(object.endpoints[i], long + 1); } } if (object.uid != null) @@ -1249,8 +1310,11 @@ var keys2; if (message.annotations && (keys2 = Object.keys(message.annotations)).length) { object.annotations = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.annotations, keys2[j]); object.annotations[keys2[j]] = message.annotations[keys2[j]]; + } } if (message.uid != null && message.hasOwnProperty("uid")) object.uid = message.uid; @@ -1309,7 +1373,7 @@ this.labels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1395,9 +1459,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Namespace.decode = function decode(reader, length, error) { + Namespace.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.Namespace(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -1424,10 +1492,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } @@ -1436,7 +1506,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1467,9 +1537,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Namespace.verify = function verify(message) { + Namespace.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -1495,9 +1569,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.Namespace} Namespace */ - Namespace.fromObject = function fromObject(object) { + Namespace.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.Namespace) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.Namespace(); if (object.name != null) message.name = String(object.name); @@ -1505,8 +1583,11 @@ if (typeof object.labels !== "object") throw TypeError(".google.cloud.servicedirectory.v1.Namespace.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } if (object.uid != null) message.uid = String(object.uid); @@ -1537,8 +1618,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.uid != null && message.hasOwnProperty("uid")) object.uid = message.uid; @@ -2225,7 +2309,7 @@ function CreateNamespaceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2310,9 +2394,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateNamespaceRequest.decode = function decode(reader, length, error) { + CreateNamespaceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.CreateNamespaceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2328,11 +2416,11 @@ break; } case 3: { - message.namespace = $root.google.cloud.servicedirectory.v1.Namespace.decode(reader, reader.uint32()); + message.namespace = $root.google.cloud.servicedirectory.v1.Namespace.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2363,9 +2451,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateNamespaceRequest.verify = function verify(message) { + CreateNamespaceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -2373,7 +2465,7 @@ if (!$util.isString(message.namespaceId)) return "namespaceId: string expected"; if (message.namespace != null && message.hasOwnProperty("namespace")) { - var error = $root.google.cloud.servicedirectory.v1.Namespace.verify(message.namespace); + var error = $root.google.cloud.servicedirectory.v1.Namespace.verify(message.namespace, long + 1); if (error) return "namespace." + error; } @@ -2388,9 +2480,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.CreateNamespaceRequest} CreateNamespaceRequest */ - CreateNamespaceRequest.fromObject = function fromObject(object) { + CreateNamespaceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.CreateNamespaceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.CreateNamespaceRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -2399,7 +2495,7 @@ if (object.namespace != null) { if (typeof object.namespace !== "object") throw TypeError(".google.cloud.servicedirectory.v1.CreateNamespaceRequest.namespace: object expected"); - message.namespace = $root.google.cloud.servicedirectory.v1.Namespace.fromObject(object.namespace); + message.namespace = $root.google.cloud.servicedirectory.v1.Namespace.fromObject(object.namespace, long + 1); } return message; }; @@ -2484,7 +2580,7 @@ function ListNamespacesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2589,9 +2685,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListNamespacesRequest.decode = function decode(reader, length, error) { + ListNamespacesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.ListNamespacesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2619,7 +2719,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2650,9 +2750,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListNamespacesRequest.verify = function verify(message) { + ListNamespacesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -2679,9 +2783,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.ListNamespacesRequest} ListNamespacesRequest */ - ListNamespacesRequest.fromObject = function fromObject(object) { + ListNamespacesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.ListNamespacesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.ListNamespacesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -2780,7 +2888,7 @@ this.namespaces = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2856,9 +2964,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListNamespacesResponse.decode = function decode(reader, length, error) { + ListNamespacesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.ListNamespacesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2868,7 +2980,7 @@ case 1: { if (!(message.namespaces && message.namespaces.length)) message.namespaces = []; - message.namespaces.push($root.google.cloud.servicedirectory.v1.Namespace.decode(reader, reader.uint32())); + message.namespaces.push($root.google.cloud.servicedirectory.v1.Namespace.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -2876,7 +2988,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2907,14 +3019,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListNamespacesResponse.verify = function verify(message) { + ListNamespacesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.namespaces != null && message.hasOwnProperty("namespaces")) { if (!Array.isArray(message.namespaces)) return "namespaces: array expected"; for (var i = 0; i < message.namespaces.length; ++i) { - var error = $root.google.cloud.servicedirectory.v1.Namespace.verify(message.namespaces[i]); + var error = $root.google.cloud.servicedirectory.v1.Namespace.verify(message.namespaces[i], long + 1); if (error) return "namespaces." + error; } @@ -2933,9 +3049,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.ListNamespacesResponse} ListNamespacesResponse */ - ListNamespacesResponse.fromObject = function fromObject(object) { + ListNamespacesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.ListNamespacesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.ListNamespacesResponse(); if (object.namespaces) { if (!Array.isArray(object.namespaces)) @@ -2944,7 +3064,7 @@ for (var i = 0; i < object.namespaces.length; ++i) { if (typeof object.namespaces[i] !== "object") throw TypeError(".google.cloud.servicedirectory.v1.ListNamespacesResponse.namespaces: object expected"); - message.namespaces[i] = $root.google.cloud.servicedirectory.v1.Namespace.fromObject(object.namespaces[i]); + message.namespaces[i] = $root.google.cloud.servicedirectory.v1.Namespace.fromObject(object.namespaces[i], long + 1); } } if (object.nextPageToken != null) @@ -3028,7 +3148,7 @@ function GetNamespaceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3093,9 +3213,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetNamespaceRequest.decode = function decode(reader, length, error) { + GetNamespaceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.GetNamespaceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3107,7 +3231,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3138,9 +3262,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetNamespaceRequest.verify = function verify(message) { + GetNamespaceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -3155,9 +3283,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.GetNamespaceRequest} GetNamespaceRequest */ - GetNamespaceRequest.fromObject = function fromObject(object) { + GetNamespaceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.GetNamespaceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.GetNamespaceRequest(); if (object.name != null) message.name = String(object.name); @@ -3234,7 +3366,7 @@ function UpdateNamespaceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3309,9 +3441,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateNamespaceRequest.decode = function decode(reader, length, error) { + UpdateNamespaceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.UpdateNamespaceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3319,15 +3455,15 @@ break; switch (tag >>> 3) { case 1: { - message.namespace = $root.google.cloud.servicedirectory.v1.Namespace.decode(reader, reader.uint32()); + message.namespace = $root.google.cloud.servicedirectory.v1.Namespace.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3358,16 +3494,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateNamespaceRequest.verify = function verify(message) { + UpdateNamespaceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.namespace != null && message.hasOwnProperty("namespace")) { - var error = $root.google.cloud.servicedirectory.v1.Namespace.verify(message.namespace); + var error = $root.google.cloud.servicedirectory.v1.Namespace.verify(message.namespace, long + 1); if (error) return "namespace." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -3382,19 +3522,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.UpdateNamespaceRequest} UpdateNamespaceRequest */ - UpdateNamespaceRequest.fromObject = function fromObject(object) { + UpdateNamespaceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.UpdateNamespaceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.UpdateNamespaceRequest(); if (object.namespace != null) { if (typeof object.namespace !== "object") throw TypeError(".google.cloud.servicedirectory.v1.UpdateNamespaceRequest.namespace: object expected"); - message.namespace = $root.google.cloud.servicedirectory.v1.Namespace.fromObject(object.namespace); + message.namespace = $root.google.cloud.servicedirectory.v1.Namespace.fromObject(object.namespace, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.servicedirectory.v1.UpdateNamespaceRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -3472,7 +3616,7 @@ function DeleteNamespaceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3537,9 +3681,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteNamespaceRequest.decode = function decode(reader, length, error) { + DeleteNamespaceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.DeleteNamespaceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3551,7 +3699,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3582,9 +3730,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteNamespaceRequest.verify = function verify(message) { + DeleteNamespaceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -3599,9 +3751,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.DeleteNamespaceRequest} DeleteNamespaceRequest */ - DeleteNamespaceRequest.fromObject = function fromObject(object) { + DeleteNamespaceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.DeleteNamespaceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.DeleteNamespaceRequest(); if (object.name != null) message.name = String(object.name); @@ -3679,7 +3835,7 @@ function CreateServiceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3764,9 +3920,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateServiceRequest.decode = function decode(reader, length, error) { + CreateServiceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.CreateServiceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3782,11 +3942,11 @@ break; } case 3: { - message.service = $root.google.cloud.servicedirectory.v1.Service.decode(reader, reader.uint32()); + message.service = $root.google.cloud.servicedirectory.v1.Service.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3817,9 +3977,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateServiceRequest.verify = function verify(message) { + CreateServiceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -3827,7 +3991,7 @@ if (!$util.isString(message.serviceId)) return "serviceId: string expected"; if (message.service != null && message.hasOwnProperty("service")) { - var error = $root.google.cloud.servicedirectory.v1.Service.verify(message.service); + var error = $root.google.cloud.servicedirectory.v1.Service.verify(message.service, long + 1); if (error) return "service." + error; } @@ -3842,9 +4006,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.CreateServiceRequest} CreateServiceRequest */ - CreateServiceRequest.fromObject = function fromObject(object) { + CreateServiceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.CreateServiceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.CreateServiceRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -3853,7 +4021,7 @@ if (object.service != null) { if (typeof object.service !== "object") throw TypeError(".google.cloud.servicedirectory.v1.CreateServiceRequest.service: object expected"); - message.service = $root.google.cloud.servicedirectory.v1.Service.fromObject(object.service); + message.service = $root.google.cloud.servicedirectory.v1.Service.fromObject(object.service, long + 1); } return message; }; @@ -3938,7 +4106,7 @@ function ListServicesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4043,9 +4211,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListServicesRequest.decode = function decode(reader, length, error) { + ListServicesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.ListServicesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4073,7 +4245,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4104,9 +4276,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListServicesRequest.verify = function verify(message) { + ListServicesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -4133,9 +4309,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.ListServicesRequest} ListServicesRequest */ - ListServicesRequest.fromObject = function fromObject(object) { + ListServicesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.ListServicesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.ListServicesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -4234,7 +4414,7 @@ this.services = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4310,9 +4490,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListServicesResponse.decode = function decode(reader, length, error) { + ListServicesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.ListServicesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4322,7 +4506,7 @@ case 1: { if (!(message.services && message.services.length)) message.services = []; - message.services.push($root.google.cloud.servicedirectory.v1.Service.decode(reader, reader.uint32())); + message.services.push($root.google.cloud.servicedirectory.v1.Service.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -4330,7 +4514,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4361,14 +4545,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListServicesResponse.verify = function verify(message) { + ListServicesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.services != null && message.hasOwnProperty("services")) { if (!Array.isArray(message.services)) return "services: array expected"; for (var i = 0; i < message.services.length; ++i) { - var error = $root.google.cloud.servicedirectory.v1.Service.verify(message.services[i]); + var error = $root.google.cloud.servicedirectory.v1.Service.verify(message.services[i], long + 1); if (error) return "services." + error; } @@ -4387,9 +4575,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.ListServicesResponse} ListServicesResponse */ - ListServicesResponse.fromObject = function fromObject(object) { + ListServicesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.ListServicesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.ListServicesResponse(); if (object.services) { if (!Array.isArray(object.services)) @@ -4398,7 +4590,7 @@ for (var i = 0; i < object.services.length; ++i) { if (typeof object.services[i] !== "object") throw TypeError(".google.cloud.servicedirectory.v1.ListServicesResponse.services: object expected"); - message.services[i] = $root.google.cloud.servicedirectory.v1.Service.fromObject(object.services[i]); + message.services[i] = $root.google.cloud.servicedirectory.v1.Service.fromObject(object.services[i], long + 1); } } if (object.nextPageToken != null) @@ -4482,7 +4674,7 @@ function GetServiceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4547,9 +4739,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetServiceRequest.decode = function decode(reader, length, error) { + GetServiceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.GetServiceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4561,7 +4757,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4592,9 +4788,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetServiceRequest.verify = function verify(message) { + GetServiceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -4609,9 +4809,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.GetServiceRequest} GetServiceRequest */ - GetServiceRequest.fromObject = function fromObject(object) { + GetServiceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.GetServiceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.GetServiceRequest(); if (object.name != null) message.name = String(object.name); @@ -4688,7 +4892,7 @@ function UpdateServiceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4763,9 +4967,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateServiceRequest.decode = function decode(reader, length, error) { + UpdateServiceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.UpdateServiceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4773,15 +4981,15 @@ break; switch (tag >>> 3) { case 1: { - message.service = $root.google.cloud.servicedirectory.v1.Service.decode(reader, reader.uint32()); + message.service = $root.google.cloud.servicedirectory.v1.Service.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4812,16 +5020,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateServiceRequest.verify = function verify(message) { + UpdateServiceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.service != null && message.hasOwnProperty("service")) { - var error = $root.google.cloud.servicedirectory.v1.Service.verify(message.service); + var error = $root.google.cloud.servicedirectory.v1.Service.verify(message.service, long + 1); if (error) return "service." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -4836,19 +5048,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.UpdateServiceRequest} UpdateServiceRequest */ - UpdateServiceRequest.fromObject = function fromObject(object) { + UpdateServiceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.UpdateServiceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.UpdateServiceRequest(); if (object.service != null) { if (typeof object.service !== "object") throw TypeError(".google.cloud.servicedirectory.v1.UpdateServiceRequest.service: object expected"); - message.service = $root.google.cloud.servicedirectory.v1.Service.fromObject(object.service); + message.service = $root.google.cloud.servicedirectory.v1.Service.fromObject(object.service, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.servicedirectory.v1.UpdateServiceRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -4926,7 +5142,7 @@ function DeleteServiceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4991,9 +5207,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteServiceRequest.decode = function decode(reader, length, error) { + DeleteServiceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.DeleteServiceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5005,7 +5225,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5036,9 +5256,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteServiceRequest.verify = function verify(message) { + DeleteServiceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -5053,9 +5277,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.DeleteServiceRequest} DeleteServiceRequest */ - DeleteServiceRequest.fromObject = function fromObject(object) { + DeleteServiceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.DeleteServiceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.DeleteServiceRequest(); if (object.name != null) message.name = String(object.name); @@ -5133,7 +5361,7 @@ function CreateEndpointRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5218,9 +5446,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateEndpointRequest.decode = function decode(reader, length, error) { + CreateEndpointRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.CreateEndpointRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5236,11 +5468,11 @@ break; } case 3: { - message.endpoint = $root.google.cloud.servicedirectory.v1.Endpoint.decode(reader, reader.uint32()); + message.endpoint = $root.google.cloud.servicedirectory.v1.Endpoint.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5271,9 +5503,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateEndpointRequest.verify = function verify(message) { + CreateEndpointRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -5281,7 +5517,7 @@ if (!$util.isString(message.endpointId)) return "endpointId: string expected"; if (message.endpoint != null && message.hasOwnProperty("endpoint")) { - var error = $root.google.cloud.servicedirectory.v1.Endpoint.verify(message.endpoint); + var error = $root.google.cloud.servicedirectory.v1.Endpoint.verify(message.endpoint, long + 1); if (error) return "endpoint." + error; } @@ -5296,9 +5532,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.CreateEndpointRequest} CreateEndpointRequest */ - CreateEndpointRequest.fromObject = function fromObject(object) { + CreateEndpointRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.CreateEndpointRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.CreateEndpointRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -5307,7 +5547,7 @@ if (object.endpoint != null) { if (typeof object.endpoint !== "object") throw TypeError(".google.cloud.servicedirectory.v1.CreateEndpointRequest.endpoint: object expected"); - message.endpoint = $root.google.cloud.servicedirectory.v1.Endpoint.fromObject(object.endpoint); + message.endpoint = $root.google.cloud.servicedirectory.v1.Endpoint.fromObject(object.endpoint, long + 1); } return message; }; @@ -5392,7 +5632,7 @@ function ListEndpointsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5497,9 +5737,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEndpointsRequest.decode = function decode(reader, length, error) { + ListEndpointsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.ListEndpointsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5527,7 +5771,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5558,9 +5802,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEndpointsRequest.verify = function verify(message) { + ListEndpointsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -5587,9 +5835,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.ListEndpointsRequest} ListEndpointsRequest */ - ListEndpointsRequest.fromObject = function fromObject(object) { + ListEndpointsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.ListEndpointsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.ListEndpointsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -5688,7 +5940,7 @@ this.endpoints = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5764,9 +6016,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEndpointsResponse.decode = function decode(reader, length, error) { + ListEndpointsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.ListEndpointsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5776,7 +6032,7 @@ case 1: { if (!(message.endpoints && message.endpoints.length)) message.endpoints = []; - message.endpoints.push($root.google.cloud.servicedirectory.v1.Endpoint.decode(reader, reader.uint32())); + message.endpoints.push($root.google.cloud.servicedirectory.v1.Endpoint.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -5784,7 +6040,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5815,14 +6071,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEndpointsResponse.verify = function verify(message) { + ListEndpointsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.endpoints != null && message.hasOwnProperty("endpoints")) { if (!Array.isArray(message.endpoints)) return "endpoints: array expected"; for (var i = 0; i < message.endpoints.length; ++i) { - var error = $root.google.cloud.servicedirectory.v1.Endpoint.verify(message.endpoints[i]); + var error = $root.google.cloud.servicedirectory.v1.Endpoint.verify(message.endpoints[i], long + 1); if (error) return "endpoints." + error; } @@ -5841,9 +6101,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.ListEndpointsResponse} ListEndpointsResponse */ - ListEndpointsResponse.fromObject = function fromObject(object) { + ListEndpointsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.ListEndpointsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.ListEndpointsResponse(); if (object.endpoints) { if (!Array.isArray(object.endpoints)) @@ -5852,7 +6116,7 @@ for (var i = 0; i < object.endpoints.length; ++i) { if (typeof object.endpoints[i] !== "object") throw TypeError(".google.cloud.servicedirectory.v1.ListEndpointsResponse.endpoints: object expected"); - message.endpoints[i] = $root.google.cloud.servicedirectory.v1.Endpoint.fromObject(object.endpoints[i]); + message.endpoints[i] = $root.google.cloud.servicedirectory.v1.Endpoint.fromObject(object.endpoints[i], long + 1); } } if (object.nextPageToken != null) @@ -5936,7 +6200,7 @@ function GetEndpointRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6001,9 +6265,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetEndpointRequest.decode = function decode(reader, length, error) { + GetEndpointRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.GetEndpointRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6015,7 +6283,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6046,9 +6314,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetEndpointRequest.verify = function verify(message) { + GetEndpointRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -6063,9 +6335,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.GetEndpointRequest} GetEndpointRequest */ - GetEndpointRequest.fromObject = function fromObject(object) { + GetEndpointRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.GetEndpointRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.GetEndpointRequest(); if (object.name != null) message.name = String(object.name); @@ -6142,7 +6418,7 @@ function UpdateEndpointRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6217,9 +6493,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateEndpointRequest.decode = function decode(reader, length, error) { + UpdateEndpointRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.UpdateEndpointRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6227,15 +6507,15 @@ break; switch (tag >>> 3) { case 1: { - message.endpoint = $root.google.cloud.servicedirectory.v1.Endpoint.decode(reader, reader.uint32()); + message.endpoint = $root.google.cloud.servicedirectory.v1.Endpoint.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6266,16 +6546,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateEndpointRequest.verify = function verify(message) { + UpdateEndpointRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.endpoint != null && message.hasOwnProperty("endpoint")) { - var error = $root.google.cloud.servicedirectory.v1.Endpoint.verify(message.endpoint); + var error = $root.google.cloud.servicedirectory.v1.Endpoint.verify(message.endpoint, long + 1); if (error) return "endpoint." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -6290,19 +6574,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.UpdateEndpointRequest} UpdateEndpointRequest */ - UpdateEndpointRequest.fromObject = function fromObject(object) { + UpdateEndpointRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.UpdateEndpointRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.UpdateEndpointRequest(); if (object.endpoint != null) { if (typeof object.endpoint !== "object") throw TypeError(".google.cloud.servicedirectory.v1.UpdateEndpointRequest.endpoint: object expected"); - message.endpoint = $root.google.cloud.servicedirectory.v1.Endpoint.fromObject(object.endpoint); + message.endpoint = $root.google.cloud.servicedirectory.v1.Endpoint.fromObject(object.endpoint, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.servicedirectory.v1.UpdateEndpointRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -6380,7 +6668,7 @@ function DeleteEndpointRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6445,9 +6733,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteEndpointRequest.decode = function decode(reader, length, error) { + DeleteEndpointRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1.DeleteEndpointRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6459,7 +6751,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6490,9 +6782,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteEndpointRequest.verify = function verify(message) { + DeleteEndpointRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -6507,9 +6803,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1.DeleteEndpointRequest} DeleteEndpointRequest */ - DeleteEndpointRequest.fromObject = function fromObject(object) { + DeleteEndpointRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1.DeleteEndpointRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1.DeleteEndpointRequest(); if (object.name != null) message.name = String(object.name); @@ -6605,7 +6905,7 @@ this.metadata = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6741,9 +7041,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Endpoint.decode = function decode(reader, length, error) { + Endpoint.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.Endpoint(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -6778,10 +7082,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.metadata, key); message.metadata[key] = value; break; } @@ -6790,11 +7096,11 @@ break; } case 6: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { @@ -6802,7 +7108,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6833,9 +7139,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Endpoint.verify = function verify(message) { + Endpoint.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -6857,12 +7167,12 @@ if (!$util.isString(message.network)) return "network: string expected"; if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -6880,9 +7190,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.Endpoint} Endpoint */ - Endpoint.fromObject = function fromObject(object) { + Endpoint.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.Endpoint) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.Endpoint(); if (object.name != null) message.name = String(object.name); @@ -6894,20 +7208,23 @@ if (typeof object.metadata !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.Endpoint.metadata: object expected"); message.metadata = {}; - for (var keys = Object.keys(object.metadata), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.metadata), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.metadata, keys[i]); message.metadata[keys[i]] = String(object.metadata[keys[i]]); + } } if (object.network != null) message.network = String(object.network); if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.Endpoint.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.Endpoint.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.uid != null) message.uid = String(object.uid); @@ -6947,8 +7264,11 @@ var keys2; if (message.metadata && (keys2 = Object.keys(message.metadata)).length) { object.metadata = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.metadata, keys2[j]); object.metadata[keys2[j]] = message.metadata[keys2[j]]; + } } if (message.network != null && message.hasOwnProperty("network")) object.network = message.network; @@ -7080,7 +7400,7 @@ function ResolveServiceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7165,9 +7485,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResolveServiceRequest.decode = function decode(reader, length, error) { + ResolveServiceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7187,7 +7511,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7218,9 +7542,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResolveServiceRequest.verify = function verify(message) { + ResolveServiceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -7241,9 +7569,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.ResolveServiceRequest} ResolveServiceRequest */ - ResolveServiceRequest.fromObject = function fromObject(object) { + ResolveServiceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest(); if (object.name != null) message.name = String(object.name); @@ -7330,7 +7662,7 @@ function ResolveServiceResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7395,9 +7727,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResolveServiceResponse.decode = function decode(reader, length, error) { + ResolveServiceResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.ResolveServiceResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7405,11 +7741,11 @@ break; switch (tag >>> 3) { case 1: { - message.service = $root.google.cloud.servicedirectory.v1beta1.Service.decode(reader, reader.uint32()); + message.service = $root.google.cloud.servicedirectory.v1beta1.Service.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7440,11 +7776,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResolveServiceResponse.verify = function verify(message) { + ResolveServiceResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.service != null && message.hasOwnProperty("service")) { - var error = $root.google.cloud.servicedirectory.v1beta1.Service.verify(message.service); + var error = $root.google.cloud.servicedirectory.v1beta1.Service.verify(message.service, long + 1); if (error) return "service." + error; } @@ -7459,14 +7799,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.ResolveServiceResponse} ResolveServiceResponse */ - ResolveServiceResponse.fromObject = function fromObject(object) { + ResolveServiceResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.ResolveServiceResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.ResolveServiceResponse(); if (object.service != null) { if (typeof object.service !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.ResolveServiceResponse.service: object expected"); - message.service = $root.google.cloud.servicedirectory.v1beta1.Service.fromObject(object.service); + message.service = $root.google.cloud.servicedirectory.v1beta1.Service.fromObject(object.service, long + 1); } return message; }; @@ -7547,7 +7891,7 @@ this.endpoints = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7664,9 +8008,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Service.decode = function decode(reader, length, error) { + Service.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.Service(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -7693,25 +8041,27 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.metadata, key); message.metadata[key] = value; break; } case 3: { if (!(message.endpoints && message.endpoints.length)) message.endpoints = []; - message.endpoints.push($root.google.cloud.servicedirectory.v1beta1.Endpoint.decode(reader, reader.uint32())); + message.endpoints.push($root.google.cloud.servicedirectory.v1beta1.Endpoint.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { @@ -7719,7 +8069,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7750,9 +8100,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Service.verify = function verify(message) { + Service.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -7768,18 +8122,18 @@ if (!Array.isArray(message.endpoints)) return "endpoints: array expected"; for (var i = 0; i < message.endpoints.length; ++i) { - var error = $root.google.cloud.servicedirectory.v1beta1.Endpoint.verify(message.endpoints[i]); + var error = $root.google.cloud.servicedirectory.v1beta1.Endpoint.verify(message.endpoints[i], long + 1); if (error) return "endpoints." + error; } } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -7797,9 +8151,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.Service} Service */ - Service.fromObject = function fromObject(object) { + Service.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.Service) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.Service(); if (object.name != null) message.name = String(object.name); @@ -7807,8 +8165,11 @@ if (typeof object.metadata !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.Service.metadata: object expected"); message.metadata = {}; - for (var keys = Object.keys(object.metadata), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.metadata), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.metadata, keys[i]); message.metadata[keys[i]] = String(object.metadata[keys[i]]); + } } if (object.endpoints) { if (!Array.isArray(object.endpoints)) @@ -7817,18 +8178,18 @@ for (var i = 0; i < object.endpoints.length; ++i) { if (typeof object.endpoints[i] !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.Service.endpoints: object expected"); - message.endpoints[i] = $root.google.cloud.servicedirectory.v1beta1.Endpoint.fromObject(object.endpoints[i]); + message.endpoints[i] = $root.google.cloud.servicedirectory.v1beta1.Endpoint.fromObject(object.endpoints[i], long + 1); } } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.Service.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.Service.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.uid != null) message.uid = String(object.uid); @@ -7863,8 +8224,11 @@ var keys2; if (message.metadata && (keys2 = Object.keys(message.metadata)).length) { object.metadata = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.metadata, keys2[j]); object.metadata[keys2[j]] = message.metadata[keys2[j]]; + } } if (message.endpoints && message.endpoints.length) { object.endpoints = []; @@ -7934,7 +8298,7 @@ this.labels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8040,9 +8404,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Namespace.decode = function decode(reader, length, error) { + Namespace.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.Namespace(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -8069,19 +8437,21 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } case 4: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { @@ -8089,7 +8459,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8120,9 +8490,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Namespace.verify = function verify(message) { + Namespace.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -8135,12 +8509,12 @@ return "labels: string{k:string} expected"; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -8158,9 +8532,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.Namespace} Namespace */ - Namespace.fromObject = function fromObject(object) { + Namespace.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.Namespace) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.Namespace(); if (object.name != null) message.name = String(object.name); @@ -8168,18 +8546,21 @@ if (typeof object.labels !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.Namespace.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.Namespace.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.Namespace.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.uid != null) message.uid = String(object.uid); @@ -8212,8 +8593,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.createTime != null && message.hasOwnProperty("createTime")) object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); @@ -8904,7 +9288,7 @@ function CreateNamespaceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8989,9 +9373,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateNamespaceRequest.decode = function decode(reader, length, error) { + CreateNamespaceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9007,11 +9395,11 @@ break; } case 3: { - message.namespace = $root.google.cloud.servicedirectory.v1beta1.Namespace.decode(reader, reader.uint32()); + message.namespace = $root.google.cloud.servicedirectory.v1beta1.Namespace.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9042,9 +9430,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateNamespaceRequest.verify = function verify(message) { + CreateNamespaceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -9052,7 +9444,7 @@ if (!$util.isString(message.namespaceId)) return "namespaceId: string expected"; if (message.namespace != null && message.hasOwnProperty("namespace")) { - var error = $root.google.cloud.servicedirectory.v1beta1.Namespace.verify(message.namespace); + var error = $root.google.cloud.servicedirectory.v1beta1.Namespace.verify(message.namespace, long + 1); if (error) return "namespace." + error; } @@ -9067,9 +9459,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest} CreateNamespaceRequest */ - CreateNamespaceRequest.fromObject = function fromObject(object) { + CreateNamespaceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -9078,7 +9474,7 @@ if (object.namespace != null) { if (typeof object.namespace !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest.namespace: object expected"); - message.namespace = $root.google.cloud.servicedirectory.v1beta1.Namespace.fromObject(object.namespace); + message.namespace = $root.google.cloud.servicedirectory.v1beta1.Namespace.fromObject(object.namespace, long + 1); } return message; }; @@ -9163,7 +9559,7 @@ function ListNamespacesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9268,9 +9664,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListNamespacesRequest.decode = function decode(reader, length, error) { + ListNamespacesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9298,7 +9698,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9329,9 +9729,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListNamespacesRequest.verify = function verify(message) { + ListNamespacesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -9358,9 +9762,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.ListNamespacesRequest} ListNamespacesRequest */ - ListNamespacesRequest.fromObject = function fromObject(object) { + ListNamespacesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -9459,7 +9867,7 @@ this.namespaces = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9535,9 +9943,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListNamespacesResponse.decode = function decode(reader, length, error) { + ListNamespacesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.ListNamespacesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9547,7 +9959,7 @@ case 1: { if (!(message.namespaces && message.namespaces.length)) message.namespaces = []; - message.namespaces.push($root.google.cloud.servicedirectory.v1beta1.Namespace.decode(reader, reader.uint32())); + message.namespaces.push($root.google.cloud.servicedirectory.v1beta1.Namespace.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -9555,7 +9967,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9586,14 +9998,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListNamespacesResponse.verify = function verify(message) { + ListNamespacesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.namespaces != null && message.hasOwnProperty("namespaces")) { if (!Array.isArray(message.namespaces)) return "namespaces: array expected"; for (var i = 0; i < message.namespaces.length; ++i) { - var error = $root.google.cloud.servicedirectory.v1beta1.Namespace.verify(message.namespaces[i]); + var error = $root.google.cloud.servicedirectory.v1beta1.Namespace.verify(message.namespaces[i], long + 1); if (error) return "namespaces." + error; } @@ -9612,9 +10028,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.ListNamespacesResponse} ListNamespacesResponse */ - ListNamespacesResponse.fromObject = function fromObject(object) { + ListNamespacesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.ListNamespacesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.ListNamespacesResponse(); if (object.namespaces) { if (!Array.isArray(object.namespaces)) @@ -9623,7 +10043,7 @@ for (var i = 0; i < object.namespaces.length; ++i) { if (typeof object.namespaces[i] !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.ListNamespacesResponse.namespaces: object expected"); - message.namespaces[i] = $root.google.cloud.servicedirectory.v1beta1.Namespace.fromObject(object.namespaces[i]); + message.namespaces[i] = $root.google.cloud.servicedirectory.v1beta1.Namespace.fromObject(object.namespaces[i], long + 1); } } if (object.nextPageToken != null) @@ -9707,7 +10127,7 @@ function GetNamespaceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9772,9 +10192,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetNamespaceRequest.decode = function decode(reader, length, error) { + GetNamespaceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9786,7 +10210,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9817,9 +10241,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetNamespaceRequest.verify = function verify(message) { + GetNamespaceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -9834,9 +10262,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.GetNamespaceRequest} GetNamespaceRequest */ - GetNamespaceRequest.fromObject = function fromObject(object) { + GetNamespaceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest(); if (object.name != null) message.name = String(object.name); @@ -9913,7 +10345,7 @@ function UpdateNamespaceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9988,9 +10420,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateNamespaceRequest.decode = function decode(reader, length, error) { + UpdateNamespaceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9998,15 +10434,15 @@ break; switch (tag >>> 3) { case 1: { - message.namespace = $root.google.cloud.servicedirectory.v1beta1.Namespace.decode(reader, reader.uint32()); + message.namespace = $root.google.cloud.servicedirectory.v1beta1.Namespace.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10037,16 +10473,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateNamespaceRequest.verify = function verify(message) { + UpdateNamespaceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.namespace != null && message.hasOwnProperty("namespace")) { - var error = $root.google.cloud.servicedirectory.v1beta1.Namespace.verify(message.namespace); + var error = $root.google.cloud.servicedirectory.v1beta1.Namespace.verify(message.namespace, long + 1); if (error) return "namespace." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -10061,19 +10501,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest} UpdateNamespaceRequest */ - UpdateNamespaceRequest.fromObject = function fromObject(object) { + UpdateNamespaceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest(); if (object.namespace != null) { if (typeof object.namespace !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest.namespace: object expected"); - message.namespace = $root.google.cloud.servicedirectory.v1beta1.Namespace.fromObject(object.namespace); + message.namespace = $root.google.cloud.servicedirectory.v1beta1.Namespace.fromObject(object.namespace, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -10151,7 +10595,7 @@ function DeleteNamespaceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10216,9 +10660,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteNamespaceRequest.decode = function decode(reader, length, error) { + DeleteNamespaceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10230,7 +10678,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10261,9 +10709,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteNamespaceRequest.verify = function verify(message) { + DeleteNamespaceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -10278,9 +10730,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest} DeleteNamespaceRequest */ - DeleteNamespaceRequest.fromObject = function fromObject(object) { + DeleteNamespaceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest(); if (object.name != null) message.name = String(object.name); @@ -10358,7 +10814,7 @@ function CreateServiceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10443,9 +10899,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateServiceRequest.decode = function decode(reader, length, error) { + CreateServiceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.CreateServiceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10461,11 +10921,11 @@ break; } case 3: { - message.service = $root.google.cloud.servicedirectory.v1beta1.Service.decode(reader, reader.uint32()); + message.service = $root.google.cloud.servicedirectory.v1beta1.Service.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10496,9 +10956,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateServiceRequest.verify = function verify(message) { + CreateServiceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -10506,7 +10970,7 @@ if (!$util.isString(message.serviceId)) return "serviceId: string expected"; if (message.service != null && message.hasOwnProperty("service")) { - var error = $root.google.cloud.servicedirectory.v1beta1.Service.verify(message.service); + var error = $root.google.cloud.servicedirectory.v1beta1.Service.verify(message.service, long + 1); if (error) return "service." + error; } @@ -10521,9 +10985,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.CreateServiceRequest} CreateServiceRequest */ - CreateServiceRequest.fromObject = function fromObject(object) { + CreateServiceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.CreateServiceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.CreateServiceRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -10532,7 +11000,7 @@ if (object.service != null) { if (typeof object.service !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.CreateServiceRequest.service: object expected"); - message.service = $root.google.cloud.servicedirectory.v1beta1.Service.fromObject(object.service); + message.service = $root.google.cloud.servicedirectory.v1beta1.Service.fromObject(object.service, long + 1); } return message; }; @@ -10617,7 +11085,7 @@ function ListServicesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10722,9 +11190,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListServicesRequest.decode = function decode(reader, length, error) { + ListServicesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.ListServicesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10752,7 +11224,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10783,9 +11255,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListServicesRequest.verify = function verify(message) { + ListServicesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -10812,9 +11288,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.ListServicesRequest} ListServicesRequest */ - ListServicesRequest.fromObject = function fromObject(object) { + ListServicesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.ListServicesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.ListServicesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -10913,7 +11393,7 @@ this.services = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10989,9 +11469,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListServicesResponse.decode = function decode(reader, length, error) { + ListServicesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.ListServicesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11001,7 +11485,7 @@ case 1: { if (!(message.services && message.services.length)) message.services = []; - message.services.push($root.google.cloud.servicedirectory.v1beta1.Service.decode(reader, reader.uint32())); + message.services.push($root.google.cloud.servicedirectory.v1beta1.Service.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -11009,7 +11493,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11040,14 +11524,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListServicesResponse.verify = function verify(message) { + ListServicesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.services != null && message.hasOwnProperty("services")) { if (!Array.isArray(message.services)) return "services: array expected"; for (var i = 0; i < message.services.length; ++i) { - var error = $root.google.cloud.servicedirectory.v1beta1.Service.verify(message.services[i]); + var error = $root.google.cloud.servicedirectory.v1beta1.Service.verify(message.services[i], long + 1); if (error) return "services." + error; } @@ -11066,9 +11554,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.ListServicesResponse} ListServicesResponse */ - ListServicesResponse.fromObject = function fromObject(object) { + ListServicesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.ListServicesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.ListServicesResponse(); if (object.services) { if (!Array.isArray(object.services)) @@ -11077,7 +11569,7 @@ for (var i = 0; i < object.services.length; ++i) { if (typeof object.services[i] !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.ListServicesResponse.services: object expected"); - message.services[i] = $root.google.cloud.servicedirectory.v1beta1.Service.fromObject(object.services[i]); + message.services[i] = $root.google.cloud.servicedirectory.v1beta1.Service.fromObject(object.services[i], long + 1); } } if (object.nextPageToken != null) @@ -11161,7 +11653,7 @@ function GetServiceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11226,9 +11718,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetServiceRequest.decode = function decode(reader, length, error) { + GetServiceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.GetServiceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11240,7 +11736,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11271,9 +11767,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetServiceRequest.verify = function verify(message) { + GetServiceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -11288,9 +11788,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.GetServiceRequest} GetServiceRequest */ - GetServiceRequest.fromObject = function fromObject(object) { + GetServiceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.GetServiceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.GetServiceRequest(); if (object.name != null) message.name = String(object.name); @@ -11367,7 +11871,7 @@ function UpdateServiceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11442,9 +11946,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateServiceRequest.decode = function decode(reader, length, error) { + UpdateServiceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11452,15 +11960,15 @@ break; switch (tag >>> 3) { case 1: { - message.service = $root.google.cloud.servicedirectory.v1beta1.Service.decode(reader, reader.uint32()); + message.service = $root.google.cloud.servicedirectory.v1beta1.Service.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11491,16 +11999,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateServiceRequest.verify = function verify(message) { + UpdateServiceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.service != null && message.hasOwnProperty("service")) { - var error = $root.google.cloud.servicedirectory.v1beta1.Service.verify(message.service); + var error = $root.google.cloud.servicedirectory.v1beta1.Service.verify(message.service, long + 1); if (error) return "service." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -11515,19 +12027,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.UpdateServiceRequest} UpdateServiceRequest */ - UpdateServiceRequest.fromObject = function fromObject(object) { + UpdateServiceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest(); if (object.service != null) { if (typeof object.service !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.UpdateServiceRequest.service: object expected"); - message.service = $root.google.cloud.servicedirectory.v1beta1.Service.fromObject(object.service); + message.service = $root.google.cloud.servicedirectory.v1beta1.Service.fromObject(object.service, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.UpdateServiceRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -11605,7 +12121,7 @@ function DeleteServiceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11670,9 +12186,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteServiceRequest.decode = function decode(reader, length, error) { + DeleteServiceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11684,7 +12204,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11715,9 +12235,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteServiceRequest.verify = function verify(message) { + DeleteServiceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -11732,9 +12256,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.DeleteServiceRequest} DeleteServiceRequest */ - DeleteServiceRequest.fromObject = function fromObject(object) { + DeleteServiceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest(); if (object.name != null) message.name = String(object.name); @@ -11812,7 +12340,7 @@ function CreateEndpointRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11897,9 +12425,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateEndpointRequest.decode = function decode(reader, length, error) { + CreateEndpointRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11915,11 +12447,11 @@ break; } case 3: { - message.endpoint = $root.google.cloud.servicedirectory.v1beta1.Endpoint.decode(reader, reader.uint32()); + message.endpoint = $root.google.cloud.servicedirectory.v1beta1.Endpoint.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11950,9 +12482,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateEndpointRequest.verify = function verify(message) { + CreateEndpointRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -11960,7 +12496,7 @@ if (!$util.isString(message.endpointId)) return "endpointId: string expected"; if (message.endpoint != null && message.hasOwnProperty("endpoint")) { - var error = $root.google.cloud.servicedirectory.v1beta1.Endpoint.verify(message.endpoint); + var error = $root.google.cloud.servicedirectory.v1beta1.Endpoint.verify(message.endpoint, long + 1); if (error) return "endpoint." + error; } @@ -11975,9 +12511,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.CreateEndpointRequest} CreateEndpointRequest */ - CreateEndpointRequest.fromObject = function fromObject(object) { + CreateEndpointRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -11986,7 +12526,7 @@ if (object.endpoint != null) { if (typeof object.endpoint !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.CreateEndpointRequest.endpoint: object expected"); - message.endpoint = $root.google.cloud.servicedirectory.v1beta1.Endpoint.fromObject(object.endpoint); + message.endpoint = $root.google.cloud.servicedirectory.v1beta1.Endpoint.fromObject(object.endpoint, long + 1); } return message; }; @@ -12071,7 +12611,7 @@ function ListEndpointsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12176,9 +12716,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEndpointsRequest.decode = function decode(reader, length, error) { + ListEndpointsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12206,7 +12750,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12237,9 +12781,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEndpointsRequest.verify = function verify(message) { + ListEndpointsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -12266,9 +12814,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.ListEndpointsRequest} ListEndpointsRequest */ - ListEndpointsRequest.fromObject = function fromObject(object) { + ListEndpointsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -12367,7 +12919,7 @@ this.endpoints = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12443,9 +12995,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEndpointsResponse.decode = function decode(reader, length, error) { + ListEndpointsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.ListEndpointsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12455,7 +13011,7 @@ case 1: { if (!(message.endpoints && message.endpoints.length)) message.endpoints = []; - message.endpoints.push($root.google.cloud.servicedirectory.v1beta1.Endpoint.decode(reader, reader.uint32())); + message.endpoints.push($root.google.cloud.servicedirectory.v1beta1.Endpoint.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -12463,7 +13019,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12494,14 +13050,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEndpointsResponse.verify = function verify(message) { + ListEndpointsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.endpoints != null && message.hasOwnProperty("endpoints")) { if (!Array.isArray(message.endpoints)) return "endpoints: array expected"; for (var i = 0; i < message.endpoints.length; ++i) { - var error = $root.google.cloud.servicedirectory.v1beta1.Endpoint.verify(message.endpoints[i]); + var error = $root.google.cloud.servicedirectory.v1beta1.Endpoint.verify(message.endpoints[i], long + 1); if (error) return "endpoints." + error; } @@ -12520,9 +13080,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.ListEndpointsResponse} ListEndpointsResponse */ - ListEndpointsResponse.fromObject = function fromObject(object) { + ListEndpointsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.ListEndpointsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.ListEndpointsResponse(); if (object.endpoints) { if (!Array.isArray(object.endpoints)) @@ -12531,7 +13095,7 @@ for (var i = 0; i < object.endpoints.length; ++i) { if (typeof object.endpoints[i] !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.ListEndpointsResponse.endpoints: object expected"); - message.endpoints[i] = $root.google.cloud.servicedirectory.v1beta1.Endpoint.fromObject(object.endpoints[i]); + message.endpoints[i] = $root.google.cloud.servicedirectory.v1beta1.Endpoint.fromObject(object.endpoints[i], long + 1); } } if (object.nextPageToken != null) @@ -12615,7 +13179,7 @@ function GetEndpointRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12680,9 +13244,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetEndpointRequest.decode = function decode(reader, length, error) { + GetEndpointRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.GetEndpointRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12694,7 +13262,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12725,9 +13293,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetEndpointRequest.verify = function verify(message) { + GetEndpointRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -12742,9 +13314,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.GetEndpointRequest} GetEndpointRequest */ - GetEndpointRequest.fromObject = function fromObject(object) { + GetEndpointRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.GetEndpointRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.GetEndpointRequest(); if (object.name != null) message.name = String(object.name); @@ -12821,7 +13397,7 @@ function UpdateEndpointRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12896,9 +13472,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateEndpointRequest.decode = function decode(reader, length, error) { + UpdateEndpointRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12906,15 +13486,15 @@ break; switch (tag >>> 3) { case 1: { - message.endpoint = $root.google.cloud.servicedirectory.v1beta1.Endpoint.decode(reader, reader.uint32()); + message.endpoint = $root.google.cloud.servicedirectory.v1beta1.Endpoint.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12945,16 +13525,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateEndpointRequest.verify = function verify(message) { + UpdateEndpointRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.endpoint != null && message.hasOwnProperty("endpoint")) { - var error = $root.google.cloud.servicedirectory.v1beta1.Endpoint.verify(message.endpoint); + var error = $root.google.cloud.servicedirectory.v1beta1.Endpoint.verify(message.endpoint, long + 1); if (error) return "endpoint." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -12969,19 +13553,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest} UpdateEndpointRequest */ - UpdateEndpointRequest.fromObject = function fromObject(object) { + UpdateEndpointRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest(); if (object.endpoint != null) { if (typeof object.endpoint !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest.endpoint: object expected"); - message.endpoint = $root.google.cloud.servicedirectory.v1beta1.Endpoint.fromObject(object.endpoint); + message.endpoint = $root.google.cloud.servicedirectory.v1beta1.Endpoint.fromObject(object.endpoint, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -13059,7 +13647,7 @@ function DeleteEndpointRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13124,9 +13712,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteEndpointRequest.decode = function decode(reader, length, error) { + DeleteEndpointRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13138,7 +13730,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13169,9 +13761,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteEndpointRequest.verify = function verify(message) { + DeleteEndpointRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -13186,9 +13782,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest} DeleteEndpointRequest */ - DeleteEndpointRequest.fromObject = function fromObject(object) { + DeleteEndpointRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest(); if (object.name != null) message.name = String(object.name); @@ -13318,7 +13918,7 @@ this.style = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13448,9 +14048,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceDescriptor.decode = function decode(reader, length, error) { + ResourceDescriptor.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceDescriptor(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13495,7 +14099,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13526,9 +14130,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceDescriptor.verify = function verify(message) { + ResourceDescriptor.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -13580,9 +14188,13 @@ * @param {Object.} object Plain object * @returns {google.api.ResourceDescriptor} ResourceDescriptor */ - ResourceDescriptor.fromObject = function fromObject(object) { + ResourceDescriptor.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ResourceDescriptor) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ResourceDescriptor(); if (object.type != null) message.type = String(object.type); @@ -13770,7 +14382,7 @@ function ResourceReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13845,9 +14457,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceReference.decode = function decode(reader, length, error) { + ResourceReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13863,7 +14479,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13894,9 +14510,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceReference.verify = function verify(message) { + ResourceReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -13914,9 +14534,13 @@ * @param {Object.} object Plain object * @returns {google.api.ResourceReference} ResourceReference */ - ResourceReference.fromObject = function fromObject(object) { + ResourceReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ResourceReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ResourceReference(); if (object.type != null) message.type = String(object.type); @@ -14000,7 +14624,7 @@ this.rules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14076,9 +14700,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Http.decode = function decode(reader, length, error) { + Http.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14088,7 +14716,7 @@ case 1: { if (!(message.rules && message.rules.length)) message.rules = []; - message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -14096,7 +14724,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14127,14 +14755,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Http.verify = function verify(message) { + Http.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.rules != null && message.hasOwnProperty("rules")) { if (!Array.isArray(message.rules)) return "rules: array expected"; for (var i = 0; i < message.rules.length; ++i) { - var error = $root.google.api.HttpRule.verify(message.rules[i]); + var error = $root.google.api.HttpRule.verify(message.rules[i], long + 1); if (error) return "rules." + error; } @@ -14153,9 +14785,13 @@ * @param {Object.} object Plain object * @returns {google.api.Http} Http */ - Http.fromObject = function fromObject(object) { + Http.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.Http) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.Http(); if (object.rules) { if (!Array.isArray(object.rules)) @@ -14164,7 +14800,7 @@ for (var i = 0; i < object.rules.length; ++i) { if (typeof object.rules[i] !== "object") throw TypeError(".google.api.Http.rules: object expected"); - message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i]); + message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i], long + 1); } } if (object.fullyDecodeReservedExpansion != null) @@ -14258,7 +14894,7 @@ this.additionalBindings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14428,9 +15064,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HttpRule.decode = function decode(reader, length, error) { + HttpRule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14462,7 +15102,7 @@ break; } case 8: { - message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32()); + message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -14476,11 +15116,11 @@ case 11: { if (!(message.additionalBindings && message.additionalBindings.length)) message.additionalBindings = []; - message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14511,9 +15151,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - HttpRule.verify = function verify(message) { + HttpRule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.selector != null && message.hasOwnProperty("selector")) if (!$util.isString(message.selector)) @@ -14556,7 +15200,7 @@ return "pattern: multiple values"; properties.pattern = 1; { - var error = $root.google.api.CustomHttpPattern.verify(message.custom); + var error = $root.google.api.CustomHttpPattern.verify(message.custom, long + 1); if (error) return "custom." + error; } @@ -14571,7 +15215,7 @@ if (!Array.isArray(message.additionalBindings)) return "additionalBindings: array expected"; for (var i = 0; i < message.additionalBindings.length; ++i) { - var error = $root.google.api.HttpRule.verify(message.additionalBindings[i]); + var error = $root.google.api.HttpRule.verify(message.additionalBindings[i], long + 1); if (error) return "additionalBindings." + error; } @@ -14587,9 +15231,13 @@ * @param {Object.} object Plain object * @returns {google.api.HttpRule} HttpRule */ - HttpRule.fromObject = function fromObject(object) { + HttpRule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.HttpRule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.HttpRule(); if (object.selector != null) message.selector = String(object.selector); @@ -14606,7 +15254,7 @@ if (object.custom != null) { if (typeof object.custom !== "object") throw TypeError(".google.api.HttpRule.custom: object expected"); - message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom); + message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom, long + 1); } if (object.body != null) message.body = String(object.body); @@ -14619,7 +15267,7 @@ for (var i = 0; i < object.additionalBindings.length; ++i) { if (typeof object.additionalBindings[i] !== "object") throw TypeError(".google.api.HttpRule.additionalBindings: object expected"); - message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i]); + message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i], long + 1); } } return message; @@ -14739,7 +15387,7 @@ function CustomHttpPattern(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14814,9 +15462,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomHttpPattern.decode = function decode(reader, length, error) { + CustomHttpPattern.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14832,7 +15484,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14863,9 +15515,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CustomHttpPattern.verify = function verify(message) { + CustomHttpPattern.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.kind != null && message.hasOwnProperty("kind")) if (!$util.isString(message.kind)) return "kind: string expected"; @@ -14883,9 +15539,13 @@ * @param {Object.} object Plain object * @returns {google.api.CustomHttpPattern} CustomHttpPattern */ - CustomHttpPattern.fromObject = function fromObject(object) { + CustomHttpPattern.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CustomHttpPattern) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CustomHttpPattern(); if (object.kind != null) message.kind = String(object.kind); @@ -14955,6 +15615,7 @@ * @interface ICommonLanguageSettings * @property {string|null} [referenceDocsUri] CommonLanguageSettings referenceDocsUri * @property {Array.|null} [destinations] CommonLanguageSettings destinations + * @property {google.api.ISelectiveGapicGeneration|null} [selectiveGapicGeneration] CommonLanguageSettings selectiveGapicGeneration */ /** @@ -14969,7 +15630,7 @@ this.destinations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14989,6 +15650,14 @@ */ CommonLanguageSettings.prototype.destinations = $util.emptyArray; + /** + * CommonLanguageSettings selectiveGapicGeneration. + * @member {google.api.ISelectiveGapicGeneration|null|undefined} selectiveGapicGeneration + * @memberof google.api.CommonLanguageSettings + * @instance + */ + CommonLanguageSettings.prototype.selectiveGapicGeneration = null; + /** * Creates a new CommonLanguageSettings instance using the specified properties. * @function create @@ -15021,6 +15690,8 @@ writer.int32(message.destinations[i]); writer.ldelim(); } + if (message.selectiveGapicGeneration != null && Object.hasOwnProperty.call(message, "selectiveGapicGeneration")) + $root.google.api.SelectiveGapicGeneration.encode(message.selectiveGapicGeneration, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -15048,9 +15719,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CommonLanguageSettings.decode = function decode(reader, length, error) { + CommonLanguageSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CommonLanguageSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15072,8 +15747,12 @@ message.destinations.push(reader.int32()); break; } + case 3: { + message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.decode(reader, reader.uint32(), undefined, long + 1); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15104,9 +15783,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CommonLanguageSettings.verify = function verify(message) { + CommonLanguageSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri")) if (!$util.isString(message.referenceDocsUri)) return "referenceDocsUri: string expected"; @@ -15123,6 +15806,11 @@ break; } } + if (message.selectiveGapicGeneration != null && message.hasOwnProperty("selectiveGapicGeneration")) { + var error = $root.google.api.SelectiveGapicGeneration.verify(message.selectiveGapicGeneration, long + 1); + if (error) + return "selectiveGapicGeneration." + error; + } return null; }; @@ -15134,9 +15822,13 @@ * @param {Object.} object Plain object * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings */ - CommonLanguageSettings.fromObject = function fromObject(object) { + CommonLanguageSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CommonLanguageSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CommonLanguageSettings(); if (object.referenceDocsUri != null) message.referenceDocsUri = String(object.referenceDocsUri); @@ -15165,6 +15857,11 @@ break; } } + if (object.selectiveGapicGeneration != null) { + if (typeof object.selectiveGapicGeneration !== "object") + throw TypeError(".google.api.CommonLanguageSettings.selectiveGapicGeneration: object expected"); + message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.fromObject(object.selectiveGapicGeneration, long + 1); + } return message; }; @@ -15183,8 +15880,10 @@ var object = {}; if (options.arrays || options.defaults) object.destinations = []; - if (options.defaults) + if (options.defaults) { object.referenceDocsUri = ""; + object.selectiveGapicGeneration = null; + } if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri")) object.referenceDocsUri = message.referenceDocsUri; if (message.destinations && message.destinations.length) { @@ -15192,6 +15891,8 @@ for (var j = 0; j < message.destinations.length; ++j) object.destinations[j] = options.enums === String ? $root.google.api.ClientLibraryDestination[message.destinations[j]] === undefined ? message.destinations[j] : $root.google.api.ClientLibraryDestination[message.destinations[j]] : message.destinations[j]; } + if (message.selectiveGapicGeneration != null && message.hasOwnProperty("selectiveGapicGeneration")) + object.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.toObject(message.selectiveGapicGeneration, options); return object; }; @@ -15254,7 +15955,7 @@ function ClientLibrarySettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15419,9 +16120,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClientLibrarySettings.decode = function decode(reader, length, error) { + ClientLibrarySettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ClientLibrarySettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15441,39 +16146,39 @@ break; } case 21: { - message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32()); + message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 22: { - message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32()); + message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 23: { - message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32()); + message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 24: { - message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32()); + message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 25: { - message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32()); + message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 26: { - message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32()); + message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 27: { - message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32()); + message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 28: { - message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32()); + message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15504,9 +16209,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ClientLibrarySettings.verify = function verify(message) { + ClientLibrarySettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isString(message.version)) return "version: string expected"; @@ -15528,42 +16237,42 @@ if (typeof message.restNumericEnums !== "boolean") return "restNumericEnums: boolean expected"; if (message.javaSettings != null && message.hasOwnProperty("javaSettings")) { - var error = $root.google.api.JavaSettings.verify(message.javaSettings); + var error = $root.google.api.JavaSettings.verify(message.javaSettings, long + 1); if (error) return "javaSettings." + error; } if (message.cppSettings != null && message.hasOwnProperty("cppSettings")) { - var error = $root.google.api.CppSettings.verify(message.cppSettings); + var error = $root.google.api.CppSettings.verify(message.cppSettings, long + 1); if (error) return "cppSettings." + error; } if (message.phpSettings != null && message.hasOwnProperty("phpSettings")) { - var error = $root.google.api.PhpSettings.verify(message.phpSettings); + var error = $root.google.api.PhpSettings.verify(message.phpSettings, long + 1); if (error) return "phpSettings." + error; } if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings")) { - var error = $root.google.api.PythonSettings.verify(message.pythonSettings); + var error = $root.google.api.PythonSettings.verify(message.pythonSettings, long + 1); if (error) return "pythonSettings." + error; } if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings")) { - var error = $root.google.api.NodeSettings.verify(message.nodeSettings); + var error = $root.google.api.NodeSettings.verify(message.nodeSettings, long + 1); if (error) return "nodeSettings." + error; } if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings")) { - var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings); + var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings, long + 1); if (error) return "dotnetSettings." + error; } if (message.rubySettings != null && message.hasOwnProperty("rubySettings")) { - var error = $root.google.api.RubySettings.verify(message.rubySettings); + var error = $root.google.api.RubySettings.verify(message.rubySettings, long + 1); if (error) return "rubySettings." + error; } if (message.goSettings != null && message.hasOwnProperty("goSettings")) { - var error = $root.google.api.GoSettings.verify(message.goSettings); + var error = $root.google.api.GoSettings.verify(message.goSettings, long + 1); if (error) return "goSettings." + error; } @@ -15578,9 +16287,13 @@ * @param {Object.} object Plain object * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings */ - ClientLibrarySettings.fromObject = function fromObject(object) { + ClientLibrarySettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ClientLibrarySettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ClientLibrarySettings(); if (object.version != null) message.version = String(object.version); @@ -15629,42 +16342,42 @@ if (object.javaSettings != null) { if (typeof object.javaSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.javaSettings: object expected"); - message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings); + message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings, long + 1); } if (object.cppSettings != null) { if (typeof object.cppSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.cppSettings: object expected"); - message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings); + message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings, long + 1); } if (object.phpSettings != null) { if (typeof object.phpSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.phpSettings: object expected"); - message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings); + message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings, long + 1); } if (object.pythonSettings != null) { if (typeof object.pythonSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.pythonSettings: object expected"); - message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings); + message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings, long + 1); } if (object.nodeSettings != null) { if (typeof object.nodeSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.nodeSettings: object expected"); - message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings); + message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings, long + 1); } if (object.dotnetSettings != null) { if (typeof object.dotnetSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.dotnetSettings: object expected"); - message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings); + message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings, long + 1); } if (object.rubySettings != null) { if (typeof object.rubySettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.rubySettings: object expected"); - message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings); + message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings, long + 1); } if (object.goSettings != null) { if (typeof object.goSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.goSettings: object expected"); - message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings); + message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings, long + 1); } return message; }; @@ -15782,7 +16495,7 @@ this.librarySettings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15950,9 +16663,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Publishing.decode = function decode(reader, length, error) { + Publishing.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Publishing(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15962,7 +16679,7 @@ case 2: { if (!(message.methodSettings && message.methodSettings.length)) message.methodSettings = []; - message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32())); + message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 101: { @@ -15998,7 +16715,7 @@ case 109: { if (!(message.librarySettings && message.librarySettings.length)) message.librarySettings = []; - message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32())); + message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 110: { @@ -16010,7 +16727,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16041,14 +16758,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Publishing.verify = function verify(message) { + Publishing.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.methodSettings != null && message.hasOwnProperty("methodSettings")) { if (!Array.isArray(message.methodSettings)) return "methodSettings: array expected"; for (var i = 0; i < message.methodSettings.length; ++i) { - var error = $root.google.api.MethodSettings.verify(message.methodSettings[i]); + var error = $root.google.api.MethodSettings.verify(message.methodSettings[i], long + 1); if (error) return "methodSettings." + error; } @@ -16093,7 +16814,7 @@ if (!Array.isArray(message.librarySettings)) return "librarySettings: array expected"; for (var i = 0; i < message.librarySettings.length; ++i) { - var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i]); + var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i], long + 1); if (error) return "librarySettings." + error; } @@ -16115,9 +16836,13 @@ * @param {Object.} object Plain object * @returns {google.api.Publishing} Publishing */ - Publishing.fromObject = function fromObject(object) { + Publishing.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.Publishing) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.Publishing(); if (object.methodSettings) { if (!Array.isArray(object.methodSettings)) @@ -16126,7 +16851,7 @@ for (var i = 0; i < object.methodSettings.length; ++i) { if (typeof object.methodSettings[i] !== "object") throw TypeError(".google.api.Publishing.methodSettings: object expected"); - message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i]); + message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i], long + 1); } } if (object.newIssueUri != null) @@ -16193,7 +16918,7 @@ for (var i = 0; i < object.librarySettings.length; ++i) { if (typeof object.librarySettings[i] !== "object") throw TypeError(".google.api.Publishing.librarySettings: object expected"); - message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i]); + message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i], long + 1); } } if (object.protoReferenceDocumentationUri != null) @@ -16317,7 +17042,7 @@ this.serviceClassNames = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16403,9 +17128,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - JavaSettings.decode = function decode(reader, length, error) { + JavaSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.JavaSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -16432,19 +17161,21 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.serviceClassNames, key); message.serviceClassNames[key] = value; break; } case 3: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16475,9 +17206,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - JavaSettings.verify = function verify(message) { + JavaSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.libraryPackage != null && message.hasOwnProperty("libraryPackage")) if (!$util.isString(message.libraryPackage)) return "libraryPackage: string expected"; @@ -16490,7 +17225,7 @@ return "serviceClassNames: string{k:string} expected"; } if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -16505,9 +17240,13 @@ * @param {Object.} object Plain object * @returns {google.api.JavaSettings} JavaSettings */ - JavaSettings.fromObject = function fromObject(object) { + JavaSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.JavaSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.JavaSettings(); if (object.libraryPackage != null) message.libraryPackage = String(object.libraryPackage); @@ -16515,13 +17254,16 @@ if (typeof object.serviceClassNames !== "object") throw TypeError(".google.api.JavaSettings.serviceClassNames: object expected"); message.serviceClassNames = {}; - for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.serviceClassNames, keys[i]); message.serviceClassNames[keys[i]] = String(object.serviceClassNames[keys[i]]); + } } if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.JavaSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -16550,8 +17292,11 @@ var keys2; if (message.serviceClassNames && (keys2 = Object.keys(message.serviceClassNames)).length) { object.serviceClassNames = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.serviceClassNames, keys2[j]); object.serviceClassNames[keys2[j]] = message.serviceClassNames[keys2[j]]; + } } if (message.common != null && message.hasOwnProperty("common")) object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); @@ -16607,7 +17352,7 @@ function CppSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16672,9 +17417,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CppSettings.decode = function decode(reader, length, error) { + CppSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CppSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16682,11 +17431,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16717,11 +17466,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CppSettings.verify = function verify(message) { + CppSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -16736,14 +17489,18 @@ * @param {Object.} object Plain object * @returns {google.api.CppSettings} CppSettings */ - CppSettings.fromObject = function fromObject(object) { + CppSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CppSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CppSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.CppSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -16817,7 +17574,7 @@ function PhpSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16882,9 +17639,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PhpSettings.decode = function decode(reader, length, error) { + PhpSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PhpSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16892,11 +17653,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16927,11 +17688,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PhpSettings.verify = function verify(message) { + PhpSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -16946,14 +17711,18 @@ * @param {Object.} object Plain object * @returns {google.api.PhpSettings} PhpSettings */ - PhpSettings.fromObject = function fromObject(object) { + PhpSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PhpSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PhpSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.PhpSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -17014,6 +17783,7 @@ * @memberof google.api * @interface IPythonSettings * @property {google.api.ICommonLanguageSettings|null} [common] PythonSettings common + * @property {google.api.PythonSettings.IExperimentalFeatures|null} [experimentalFeatures] PythonSettings experimentalFeatures */ /** @@ -17027,7 +17797,7 @@ function PythonSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17039,6 +17809,14 @@ */ PythonSettings.prototype.common = null; + /** + * PythonSettings experimentalFeatures. + * @member {google.api.PythonSettings.IExperimentalFeatures|null|undefined} experimentalFeatures + * @memberof google.api.PythonSettings + * @instance + */ + PythonSettings.prototype.experimentalFeatures = null; + /** * Creates a new PythonSettings instance using the specified properties. * @function create @@ -17065,6 +17843,8 @@ writer = $Writer.create(); if (message.common != null && Object.hasOwnProperty.call(message, "common")) $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.experimentalFeatures != null && Object.hasOwnProperty.call(message, "experimentalFeatures")) + $root.google.api.PythonSettings.ExperimentalFeatures.encode(message.experimentalFeatures, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -17092,9 +17872,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PythonSettings.decode = function decode(reader, length, error) { + PythonSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17102,11 +17886,15 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); + break; + } + case 2: { + message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17137,14 +17925,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PythonSettings.verify = function verify(message) { + PythonSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } + if (message.experimentalFeatures != null && message.hasOwnProperty("experimentalFeatures")) { + var error = $root.google.api.PythonSettings.ExperimentalFeatures.verify(message.experimentalFeatures, long + 1); + if (error) + return "experimentalFeatures." + error; + } return null; }; @@ -17156,14 +17953,23 @@ * @param {Object.} object Plain object * @returns {google.api.PythonSettings} PythonSettings */ - PythonSettings.fromObject = function fromObject(object) { + PythonSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PythonSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PythonSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.PythonSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); + } + if (object.experimentalFeatures != null) { + if (typeof object.experimentalFeatures !== "object") + throw TypeError(".google.api.PythonSettings.experimentalFeatures: object expected"); + message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.fromObject(object.experimentalFeatures, long + 1); } return message; }; @@ -17181,10 +17987,14 @@ if (!options) options = {}; var object = {}; - if (options.defaults) + if (options.defaults) { object.common = null; + object.experimentalFeatures = null; + } if (message.common != null && message.hasOwnProperty("common")) object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); + if (message.experimentalFeatures != null && message.hasOwnProperty("experimentalFeatures")) + object.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.toObject(message.experimentalFeatures, options); return object; }; @@ -17214,6 +18024,270 @@ return typeUrlPrefix + "/google.api.PythonSettings"; }; + PythonSettings.ExperimentalFeatures = (function() { + + /** + * Properties of an ExperimentalFeatures. + * @memberof google.api.PythonSettings + * @interface IExperimentalFeatures + * @property {boolean|null} [restAsyncIoEnabled] ExperimentalFeatures restAsyncIoEnabled + * @property {boolean|null} [protobufPythonicTypesEnabled] ExperimentalFeatures protobufPythonicTypesEnabled + * @property {boolean|null} [unversionedPackageDisabled] ExperimentalFeatures unversionedPackageDisabled + */ + + /** + * Constructs a new ExperimentalFeatures. + * @memberof google.api.PythonSettings + * @classdesc Represents an ExperimentalFeatures. + * @implements IExperimentalFeatures + * @constructor + * @param {google.api.PythonSettings.IExperimentalFeatures=} [properties] Properties to set + */ + function ExperimentalFeatures(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExperimentalFeatures restAsyncIoEnabled. + * @member {boolean} restAsyncIoEnabled + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @instance + */ + ExperimentalFeatures.prototype.restAsyncIoEnabled = false; + + /** + * ExperimentalFeatures protobufPythonicTypesEnabled. + * @member {boolean} protobufPythonicTypesEnabled + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @instance + */ + ExperimentalFeatures.prototype.protobufPythonicTypesEnabled = false; + + /** + * ExperimentalFeatures unversionedPackageDisabled. + * @member {boolean} unversionedPackageDisabled + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @instance + */ + ExperimentalFeatures.prototype.unversionedPackageDisabled = false; + + /** + * Creates a new ExperimentalFeatures instance using the specified properties. + * @function create + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {google.api.PythonSettings.IExperimentalFeatures=} [properties] Properties to set + * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures instance + */ + ExperimentalFeatures.create = function create(properties) { + return new ExperimentalFeatures(properties); + }; + + /** + * Encodes the specified ExperimentalFeatures message. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @function encode + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {google.api.PythonSettings.IExperimentalFeatures} message ExperimentalFeatures message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExperimentalFeatures.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.restAsyncIoEnabled != null && Object.hasOwnProperty.call(message, "restAsyncIoEnabled")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.restAsyncIoEnabled); + if (message.protobufPythonicTypesEnabled != null && Object.hasOwnProperty.call(message, "protobufPythonicTypesEnabled")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.protobufPythonicTypesEnabled); + if (message.unversionedPackageDisabled != null && Object.hasOwnProperty.call(message, "unversionedPackageDisabled")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.unversionedPackageDisabled); + return writer; + }; + + /** + * Encodes the specified ExperimentalFeatures message, length delimited. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {google.api.PythonSettings.IExperimentalFeatures} message ExperimentalFeatures message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExperimentalFeatures.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer. + * @function decode + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExperimentalFeatures.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings.ExperimentalFeatures(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.restAsyncIoEnabled = reader.bool(); + break; + } + case 2: { + message.protobufPythonicTypesEnabled = reader.bool(); + break; + } + case 3: { + message.unversionedPackageDisabled = reader.bool(); + break; + } + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExperimentalFeatures.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExperimentalFeatures message. + * @function verify + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExperimentalFeatures.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + if (message.restAsyncIoEnabled != null && message.hasOwnProperty("restAsyncIoEnabled")) + if (typeof message.restAsyncIoEnabled !== "boolean") + return "restAsyncIoEnabled: boolean expected"; + if (message.protobufPythonicTypesEnabled != null && message.hasOwnProperty("protobufPythonicTypesEnabled")) + if (typeof message.protobufPythonicTypesEnabled !== "boolean") + return "protobufPythonicTypesEnabled: boolean expected"; + if (message.unversionedPackageDisabled != null && message.hasOwnProperty("unversionedPackageDisabled")) + if (typeof message.unversionedPackageDisabled !== "boolean") + return "unversionedPackageDisabled: boolean expected"; + return null; + }; + + /** + * Creates an ExperimentalFeatures message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {Object.} object Plain object + * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures + */ + ExperimentalFeatures.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.api.PythonSettings.ExperimentalFeatures) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var message = new $root.google.api.PythonSettings.ExperimentalFeatures(); + if (object.restAsyncIoEnabled != null) + message.restAsyncIoEnabled = Boolean(object.restAsyncIoEnabled); + if (object.protobufPythonicTypesEnabled != null) + message.protobufPythonicTypesEnabled = Boolean(object.protobufPythonicTypesEnabled); + if (object.unversionedPackageDisabled != null) + message.unversionedPackageDisabled = Boolean(object.unversionedPackageDisabled); + return message; + }; + + /** + * Creates a plain object from an ExperimentalFeatures message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {google.api.PythonSettings.ExperimentalFeatures} message ExperimentalFeatures + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExperimentalFeatures.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.restAsyncIoEnabled = false; + object.protobufPythonicTypesEnabled = false; + object.unversionedPackageDisabled = false; + } + if (message.restAsyncIoEnabled != null && message.hasOwnProperty("restAsyncIoEnabled")) + object.restAsyncIoEnabled = message.restAsyncIoEnabled; + if (message.protobufPythonicTypesEnabled != null && message.hasOwnProperty("protobufPythonicTypesEnabled")) + object.protobufPythonicTypesEnabled = message.protobufPythonicTypesEnabled; + if (message.unversionedPackageDisabled != null && message.hasOwnProperty("unversionedPackageDisabled")) + object.unversionedPackageDisabled = message.unversionedPackageDisabled; + return object; + }; + + /** + * Converts this ExperimentalFeatures to JSON. + * @function toJSON + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @instance + * @returns {Object.} JSON object + */ + ExperimentalFeatures.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ExperimentalFeatures + * @function getTypeUrl + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExperimentalFeatures.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.PythonSettings.ExperimentalFeatures"; + }; + + return ExperimentalFeatures; + })(); + return PythonSettings; })(); @@ -17237,7 +18311,7 @@ function NodeSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17302,9 +18376,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NodeSettings.decode = function decode(reader, length, error) { + NodeSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.NodeSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17312,11 +18390,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17347,11 +18425,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NodeSettings.verify = function verify(message) { + NodeSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -17366,14 +18448,18 @@ * @param {Object.} object Plain object * @returns {google.api.NodeSettings} NodeSettings */ - NodeSettings.fromObject = function fromObject(object) { + NodeSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.NodeSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.NodeSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.NodeSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -17457,7 +18543,7 @@ this.handwrittenSignatures = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17577,9 +18663,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DotnetSettings.decode = function decode(reader, length, error) { + DotnetSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -17587,7 +18677,7 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -17606,10 +18696,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedServices, key); message.renamedServices[key] = value; break; } @@ -17629,10 +18721,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedResources, key); message.renamedResources[key] = value; break; } @@ -17655,7 +18749,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17686,11 +18780,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DotnetSettings.verify = function verify(message) { + DotnetSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -17742,28 +18840,38 @@ * @param {Object.} object Plain object * @returns {google.api.DotnetSettings} DotnetSettings */ - DotnetSettings.fromObject = function fromObject(object) { + DotnetSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.DotnetSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.DotnetSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.DotnetSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } if (object.renamedServices) { if (typeof object.renamedServices !== "object") throw TypeError(".google.api.DotnetSettings.renamedServices: object expected"); message.renamedServices = {}; - for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedServices, keys[i]); message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]); + } } if (object.renamedResources) { if (typeof object.renamedResources !== "object") throw TypeError(".google.api.DotnetSettings.renamedResources: object expected"); message.renamedResources = {}; - for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedResources, keys[i]); message.renamedResources[keys[i]] = String(object.renamedResources[keys[i]]); + } } if (object.ignoredResources) { if (!Array.isArray(object.ignoredResources)) @@ -17818,13 +18926,19 @@ var keys2; if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) { object.renamedServices = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedServices, keys2[j]); object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]]; + } } if (message.renamedResources && (keys2 = Object.keys(message.renamedResources)).length) { object.renamedResources = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedResources, keys2[j]); object.renamedResources[keys2[j]] = message.renamedResources[keys2[j]]; + } } if (message.ignoredResources && message.ignoredResources.length) { object.ignoredResources = []; @@ -17893,7 +19007,7 @@ function RubySettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17958,9 +19072,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RubySettings.decode = function decode(reader, length, error) { + RubySettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.RubySettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17968,11 +19086,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18003,11 +19121,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RubySettings.verify = function verify(message) { + RubySettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -18022,14 +19144,18 @@ * @param {Object.} object Plain object * @returns {google.api.RubySettings} RubySettings */ - RubySettings.fromObject = function fromObject(object) { + RubySettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.RubySettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.RubySettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.RubySettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -18090,6 +19216,7 @@ * @memberof google.api * @interface IGoSettings * @property {google.api.ICommonLanguageSettings|null} [common] GoSettings common + * @property {Object.|null} [renamedServices] GoSettings renamedServices */ /** @@ -18101,9 +19228,10 @@ * @param {google.api.IGoSettings=} [properties] Properties to set */ function GoSettings(properties) { + this.renamedServices = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18115,6 +19243,14 @@ */ GoSettings.prototype.common = null; + /** + * GoSettings renamedServices. + * @member {Object.} renamedServices + * @memberof google.api.GoSettings + * @instance + */ + GoSettings.prototype.renamedServices = $util.emptyObject; + /** * Creates a new GoSettings instance using the specified properties. * @function create @@ -18141,6 +19277,9 @@ writer = $Writer.create(); if (message.common != null && Object.hasOwnProperty.call(message, "common")) $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.renamedServices != null && Object.hasOwnProperty.call(message, "renamedServices")) + for (var keys = Object.keys(message.renamedServices), i = 0; i < keys.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.renamedServices[keys[i]]).ldelim(); return writer; }; @@ -18168,21 +19307,50 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoSettings.decode = function decode(reader, length, error) { + GoSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings(); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); if (tag === error) break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); + break; + } + case 2: { + if (message.renamedServices === $util.emptyObject) + message.renamedServices = {}; + 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, long); + break; + } + } + if (key === "__proto__") + $util.makeProp(message.renamedServices, key); + message.renamedServices[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18213,14 +19381,26 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GoSettings.verify = function verify(message) { + GoSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } + if (message.renamedServices != null && message.hasOwnProperty("renamedServices")) { + if (!$util.isObject(message.renamedServices)) + return "renamedServices: object expected"; + var key = Object.keys(message.renamedServices); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.renamedServices[key[i]])) + return "renamedServices: string{k:string} expected"; + } return null; }; @@ -18232,14 +19412,28 @@ * @param {Object.} object Plain object * @returns {google.api.GoSettings} GoSettings */ - GoSettings.fromObject = function fromObject(object) { + GoSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.GoSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.GoSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.GoSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); + } + if (object.renamedServices) { + if (typeof object.renamedServices !== "object") + throw TypeError(".google.api.GoSettings.renamedServices: object expected"); + message.renamedServices = {}; + for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedServices, keys[i]); + message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]); + } } return message; }; @@ -18257,10 +19451,21 @@ if (!options) options = {}; var object = {}; + if (options.objects || options.defaults) + object.renamedServices = {}; if (options.defaults) object.common = null; if (message.common != null && message.hasOwnProperty("common")) object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); + var keys2; + if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) { + object.renamedServices = {}; + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedServices, keys2[j]); + object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]]; + } + } return object; }; @@ -18316,7 +19521,7 @@ this.autoPopulatedFields = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18402,9 +19607,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodSettings.decode = function decode(reader, length, error) { + MethodSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18416,7 +19625,7 @@ break; } case 2: { - message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32()); + message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -18426,7 +19635,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18457,14 +19666,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodSettings.verify = function verify(message) { + MethodSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.selector != null && message.hasOwnProperty("selector")) if (!$util.isString(message.selector)) return "selector: string expected"; if (message.longRunning != null && message.hasOwnProperty("longRunning")) { - var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning); + var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning, long + 1); if (error) return "longRunning." + error; } @@ -18486,16 +19699,20 @@ * @param {Object.} object Plain object * @returns {google.api.MethodSettings} MethodSettings */ - MethodSettings.fromObject = function fromObject(object) { + MethodSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.MethodSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.MethodSettings(); if (object.selector != null) message.selector = String(object.selector); if (object.longRunning != null) { if (typeof object.longRunning !== "object") throw TypeError(".google.api.MethodSettings.longRunning: object expected"); - message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning); + message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning, long + 1); } if (object.autoPopulatedFields) { if (!Array.isArray(object.autoPopulatedFields)) @@ -18587,7 +19804,7 @@ function LongRunning(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18682,9 +19899,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LongRunning.decode = function decode(reader, length, error) { + LongRunning.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings.LongRunning(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18692,7 +19913,7 @@ break; switch (tag >>> 3) { case 1: { - message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -18700,15 +19921,15 @@ break; } case 3: { - message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18739,11 +19960,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LongRunning.verify = function verify(message) { + LongRunning.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.initialPollDelay != null && message.hasOwnProperty("initialPollDelay")) { - var error = $root.google.protobuf.Duration.verify(message.initialPollDelay); + var error = $root.google.protobuf.Duration.verify(message.initialPollDelay, long + 1); if (error) return "initialPollDelay." + error; } @@ -18751,12 +19976,12 @@ if (typeof message.pollDelayMultiplier !== "number") return "pollDelayMultiplier: number expected"; if (message.maxPollDelay != null && message.hasOwnProperty("maxPollDelay")) { - var error = $root.google.protobuf.Duration.verify(message.maxPollDelay); + var error = $root.google.protobuf.Duration.verify(message.maxPollDelay, long + 1); if (error) return "maxPollDelay." + error; } if (message.totalPollTimeout != null && message.hasOwnProperty("totalPollTimeout")) { - var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout); + var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout, long + 1); if (error) return "totalPollTimeout." + error; } @@ -18771,26 +19996,30 @@ * @param {Object.} object Plain object * @returns {google.api.MethodSettings.LongRunning} LongRunning */ - LongRunning.fromObject = function fromObject(object) { + LongRunning.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.MethodSettings.LongRunning) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.MethodSettings.LongRunning(); if (object.initialPollDelay != null) { if (typeof object.initialPollDelay !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.initialPollDelay: object expected"); - message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay); + message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay, long + 1); } if (object.pollDelayMultiplier != null) message.pollDelayMultiplier = Number(object.pollDelayMultiplier); if (object.maxPollDelay != null) { if (typeof object.maxPollDelay !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.maxPollDelay: object expected"); - message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay); + message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay, long + 1); } if (object.totalPollTimeout != null) { if (typeof object.totalPollTimeout !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.totalPollTimeout: object expected"); - message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout); + message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout, long + 1); } return message; }; @@ -18899,6 +20128,263 @@ return values; })(); + api.SelectiveGapicGeneration = (function() { + + /** + * Properties of a SelectiveGapicGeneration. + * @memberof google.api + * @interface ISelectiveGapicGeneration + * @property {Array.|null} [methods] SelectiveGapicGeneration methods + * @property {boolean|null} [generateOmittedAsInternal] SelectiveGapicGeneration generateOmittedAsInternal + */ + + /** + * Constructs a new SelectiveGapicGeneration. + * @memberof google.api + * @classdesc Represents a SelectiveGapicGeneration. + * @implements ISelectiveGapicGeneration + * @constructor + * @param {google.api.ISelectiveGapicGeneration=} [properties] Properties to set + */ + function SelectiveGapicGeneration(properties) { + this.methods = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * SelectiveGapicGeneration methods. + * @member {Array.} methods + * @memberof google.api.SelectiveGapicGeneration + * @instance + */ + SelectiveGapicGeneration.prototype.methods = $util.emptyArray; + + /** + * SelectiveGapicGeneration generateOmittedAsInternal. + * @member {boolean} generateOmittedAsInternal + * @memberof google.api.SelectiveGapicGeneration + * @instance + */ + SelectiveGapicGeneration.prototype.generateOmittedAsInternal = false; + + /** + * Creates a new SelectiveGapicGeneration instance using the specified properties. + * @function create + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {google.api.ISelectiveGapicGeneration=} [properties] Properties to set + * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration instance + */ + SelectiveGapicGeneration.create = function create(properties) { + return new SelectiveGapicGeneration(properties); + }; + + /** + * Encodes the specified SelectiveGapicGeneration message. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @function encode + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {google.api.ISelectiveGapicGeneration} message SelectiveGapicGeneration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SelectiveGapicGeneration.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.methods != null && message.methods.length) + for (var i = 0; i < message.methods.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.methods[i]); + if (message.generateOmittedAsInternal != null && Object.hasOwnProperty.call(message, "generateOmittedAsInternal")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.generateOmittedAsInternal); + return writer; + }; + + /** + * Encodes the specified SelectiveGapicGeneration message, length delimited. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {google.api.ISelectiveGapicGeneration} message SelectiveGapicGeneration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SelectiveGapicGeneration.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer. + * @function decode + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SelectiveGapicGeneration.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.SelectiveGapicGeneration(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + if (!(message.methods && message.methods.length)) + message.methods = []; + message.methods.push(reader.string()); + break; + } + case 2: { + message.generateOmittedAsInternal = reader.bool(); + break; + } + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SelectiveGapicGeneration.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SelectiveGapicGeneration message. + * @function verify + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SelectiveGapicGeneration.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + if (message.methods != null && message.hasOwnProperty("methods")) { + if (!Array.isArray(message.methods)) + return "methods: array expected"; + for (var i = 0; i < message.methods.length; ++i) + if (!$util.isString(message.methods[i])) + return "methods: string[] expected"; + } + if (message.generateOmittedAsInternal != null && message.hasOwnProperty("generateOmittedAsInternal")) + if (typeof message.generateOmittedAsInternal !== "boolean") + return "generateOmittedAsInternal: boolean expected"; + return null; + }; + + /** + * Creates a SelectiveGapicGeneration message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {Object.} object Plain object + * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration + */ + SelectiveGapicGeneration.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.api.SelectiveGapicGeneration) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var message = new $root.google.api.SelectiveGapicGeneration(); + if (object.methods) { + if (!Array.isArray(object.methods)) + throw TypeError(".google.api.SelectiveGapicGeneration.methods: array expected"); + message.methods = []; + for (var i = 0; i < object.methods.length; ++i) + message.methods[i] = String(object.methods[i]); + } + if (object.generateOmittedAsInternal != null) + message.generateOmittedAsInternal = Boolean(object.generateOmittedAsInternal); + return message; + }; + + /** + * Creates a plain object from a SelectiveGapicGeneration message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {google.api.SelectiveGapicGeneration} message SelectiveGapicGeneration + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SelectiveGapicGeneration.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.methods = []; + if (options.defaults) + object.generateOmittedAsInternal = false; + if (message.methods && message.methods.length) { + object.methods = []; + for (var j = 0; j < message.methods.length; ++j) + object.methods[j] = message.methods[j]; + } + if (message.generateOmittedAsInternal != null && message.hasOwnProperty("generateOmittedAsInternal")) + object.generateOmittedAsInternal = message.generateOmittedAsInternal; + return object; + }; + + /** + * Converts this SelectiveGapicGeneration to JSON. + * @function toJSON + * @memberof google.api.SelectiveGapicGeneration + * @instance + * @returns {Object.} JSON object + */ + SelectiveGapicGeneration.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SelectiveGapicGeneration + * @function getTypeUrl + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SelectiveGapicGeneration.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.SelectiveGapicGeneration"; + }; + + return SelectiveGapicGeneration; + })(); + /** * LaunchStage enum. * @name google.api.LaunchStage @@ -18958,7 +20444,7 @@ this.file = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19024,9 +20510,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorSet.decode = function decode(reader, length, error) { + FileDescriptorSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19036,11 +20526,11 @@ case 1: { if (!(message.file && message.file.length)) message.file = []; - message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); + message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19071,14 +20561,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileDescriptorSet.verify = function verify(message) { + FileDescriptorSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.file != null && message.hasOwnProperty("file")) { if (!Array.isArray(message.file)) return "file: array expected"; for (var i = 0; i < message.file.length; ++i) { - var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]); + var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i], long + 1); if (error) return "file." + error; } @@ -19094,9 +20588,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet */ - FileDescriptorSet.fromObject = function fromObject(object) { + FileDescriptorSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileDescriptorSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileDescriptorSet(); if (object.file) { if (!Array.isArray(object.file)) @@ -19105,7 +20603,7 @@ for (var i = 0; i < object.file.length; ++i) { if (typeof object.file[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected"); - message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]); + message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i], long + 1); } } return message; @@ -19168,6 +20666,7 @@ * @name google.protobuf.Edition * @enum {number} * @property {number} EDITION_UNKNOWN=0 EDITION_UNKNOWN value + * @property {number} EDITION_LEGACY=900 EDITION_LEGACY value * @property {number} EDITION_PROTO2=998 EDITION_PROTO2 value * @property {number} EDITION_PROTO3=999 EDITION_PROTO3 value * @property {number} EDITION_2023=1000 EDITION_2023 value @@ -19182,6 +20681,7 @@ protobuf.Edition = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "EDITION_UNKNOWN"] = 0; + values[valuesById[900] = "EDITION_LEGACY"] = 900; values[valuesById[998] = "EDITION_PROTO2"] = 998; values[valuesById[999] = "EDITION_PROTO3"] = 999; values[valuesById[1000] = "EDITION_2023"] = 1000; @@ -19206,6 +20706,7 @@ * @property {Array.|null} [dependency] FileDescriptorProto dependency * @property {Array.|null} [publicDependency] FileDescriptorProto publicDependency * @property {Array.|null} [weakDependency] FileDescriptorProto weakDependency + * @property {Array.|null} [optionDependency] FileDescriptorProto optionDependency * @property {Array.|null} [messageType] FileDescriptorProto messageType * @property {Array.|null} [enumType] FileDescriptorProto enumType * @property {Array.|null} [service] FileDescriptorProto service @@ -19228,13 +20729,14 @@ this.dependency = []; this.publicDependency = []; this.weakDependency = []; + this.optionDependency = []; this.messageType = []; this.enumType = []; this.service = []; this.extension = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19278,6 +20780,14 @@ */ FileDescriptorProto.prototype.weakDependency = $util.emptyArray; + /** + * FileDescriptorProto optionDependency. + * @member {Array.} optionDependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.optionDependency = $util.emptyArray; + /** * FileDescriptorProto messageType. * @member {Array.} messageType @@ -19399,6 +20909,9 @@ writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax); if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.edition); + if (message.optionDependency != null && message.optionDependency.length) + for (var i = 0; i < message.optionDependency.length; ++i) + writer.uint32(/* id 15, wireType 2 =*/122).string(message.optionDependency[i]); return writer; }; @@ -19426,9 +20939,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorProto.decode = function decode(reader, length, error) { + FileDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19471,36 +20988,42 @@ message.weakDependency.push(reader.int32()); break; } + case 15: { + if (!(message.optionDependency && message.optionDependency.length)) + message.optionDependency = []; + message.optionDependency.push(reader.string()); + break; + } case 4: { if (!(message.messageType && message.messageType.length)) message.messageType = []; - message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.enumType && message.enumType.length)) message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.service && message.service.length)) message.service = []; - message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); + message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { if (!(message.extension && message.extension.length)) message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { - message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } case 12: { @@ -19512,7 +21035,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19543,9 +21066,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileDescriptorProto.verify = function verify(message) { + FileDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -19573,11 +21100,18 @@ if (!$util.isInteger(message.weakDependency[i])) return "weakDependency: integer[] expected"; } + if (message.optionDependency != null && message.hasOwnProperty("optionDependency")) { + if (!Array.isArray(message.optionDependency)) + return "optionDependency: array expected"; + for (var i = 0; i < message.optionDependency.length; ++i) + if (!$util.isString(message.optionDependency[i])) + return "optionDependency: string[] expected"; + } if (message.messageType != null && message.hasOwnProperty("messageType")) { if (!Array.isArray(message.messageType)) return "messageType: array expected"; for (var i = 0; i < message.messageType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]); + var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i], long + 1); if (error) return "messageType." + error; } @@ -19586,7 +21120,7 @@ if (!Array.isArray(message.enumType)) return "enumType: array expected"; for (var i = 0; i < message.enumType.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i], long + 1); if (error) return "enumType." + error; } @@ -19595,7 +21129,7 @@ if (!Array.isArray(message.service)) return "service: array expected"; for (var i = 0; i < message.service.length; ++i) { - var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]); + var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i], long + 1); if (error) return "service." + error; } @@ -19604,18 +21138,18 @@ if (!Array.isArray(message.extension)) return "extension: array expected"; for (var i = 0; i < message.extension.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i], long + 1); if (error) return "extension." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FileOptions.verify(message.options); + var error = $root.google.protobuf.FileOptions.verify(message.options, long + 1); if (error) return "options." + error; } if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) { - var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo); + var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo, long + 1); if (error) return "sourceCodeInfo." + error; } @@ -19627,6 +21161,7 @@ default: return "edition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -19650,9 +21185,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto */ - FileDescriptorProto.fromObject = function fromObject(object) { + FileDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -19679,6 +21218,13 @@ for (var i = 0; i < object.weakDependency.length; ++i) message.weakDependency[i] = object.weakDependency[i] | 0; } + if (object.optionDependency) { + if (!Array.isArray(object.optionDependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.optionDependency: array expected"); + message.optionDependency = []; + for (var i = 0; i < object.optionDependency.length; ++i) + message.optionDependency[i] = String(object.optionDependency[i]); + } if (object.messageType) { if (!Array.isArray(object.messageType)) throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected"); @@ -19686,7 +21232,7 @@ for (var i = 0; i < object.messageType.length; ++i) { if (typeof object.messageType[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected"); - message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]); + message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i], long + 1); } } if (object.enumType) { @@ -19696,7 +21242,7 @@ for (var i = 0; i < object.enumType.length; ++i) { if (typeof object.enumType[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected"); - message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i], long + 1); } } if (object.service) { @@ -19706,7 +21252,7 @@ for (var i = 0; i < object.service.length; ++i) { if (typeof object.service[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected"); - message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]); + message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i], long + 1); } } if (object.extension) { @@ -19716,18 +21262,18 @@ for (var i = 0; i < object.extension.length; ++i) { if (typeof object.extension[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected"); - message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.FileOptions.fromObject(object.options); + message.options = $root.google.protobuf.FileOptions.fromObject(object.options, long + 1); } if (object.sourceCodeInfo != null) { if (typeof object.sourceCodeInfo !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected"); - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo, long + 1); } if (object.syntax != null) message.syntax = String(object.syntax); @@ -19742,6 +21288,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -19807,6 +21357,7 @@ object.extension = []; object.publicDependency = []; object.weakDependency = []; + object.optionDependency = []; } if (options.defaults) { object.name = ""; @@ -19863,6 +21414,11 @@ object.syntax = message.syntax; if (message.edition != null && message.hasOwnProperty("edition")) object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; + if (message.optionDependency && message.optionDependency.length) { + object.optionDependency = []; + for (var j = 0; j < message.optionDependency.length; ++j) + object.optionDependency[j] = message.optionDependency[j]; + } return object; }; @@ -19911,6 +21467,7 @@ * @property {google.protobuf.IMessageOptions|null} [options] DescriptorProto options * @property {Array.|null} [reservedRange] DescriptorProto reservedRange * @property {Array.|null} [reservedName] DescriptorProto reservedName + * @property {google.protobuf.SymbolVisibility|null} [visibility] DescriptorProto visibility */ /** @@ -19932,7 +21489,7 @@ this.reservedName = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20016,6 +21573,14 @@ */ DescriptorProto.prototype.reservedName = $util.emptyArray; + /** + * DescriptorProto visibility. + * @member {google.protobuf.SymbolVisibility} visibility + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.visibility = 0; + /** * Creates a new DescriptorProto instance using the specified properties. * @function create @@ -20068,6 +21633,8 @@ if (message.reservedName != null && message.reservedName.length) for (var i = 0; i < message.reservedName.length; ++i) writer.uint32(/* id 10, wireType 2 =*/82).string(message.reservedName[i]); + if (message.visibility != null && Object.hasOwnProperty.call(message, "visibility")) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.visibility); return writer; }; @@ -20095,9 +21662,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DescriptorProto.decode = function decode(reader, length, error) { + DescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20111,47 +21682,47 @@ case 2: { if (!(message.field && message.field.length)) message.field = []; - message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.extension && message.extension.length)) message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { if (!(message.nestedType && message.nestedType.length)) message.nestedType = []; - message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { if (!(message.enumType && message.enumType.length)) message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.extensionRange && message.extensionRange.length)) message.extensionRange = []; - message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); + message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { if (!(message.oneofDecl && message.oneofDecl.length)) message.oneofDecl = []; - message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); + message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { - message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { if (!(message.reservedRange && message.reservedRange.length)) message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); + message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 10: { @@ -20160,8 +21731,12 @@ message.reservedName.push(reader.string()); break; } + case 11: { + message.visibility = reader.int32(); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20192,9 +21767,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DescriptorProto.verify = function verify(message) { + DescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -20202,7 +21781,7 @@ if (!Array.isArray(message.field)) return "field: array expected"; for (var i = 0; i < message.field.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i], long + 1); if (error) return "field." + error; } @@ -20211,7 +21790,7 @@ if (!Array.isArray(message.extension)) return "extension: array expected"; for (var i = 0; i < message.extension.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i], long + 1); if (error) return "extension." + error; } @@ -20220,7 +21799,7 @@ if (!Array.isArray(message.nestedType)) return "nestedType: array expected"; for (var i = 0; i < message.nestedType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]); + var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i], long + 1); if (error) return "nestedType." + error; } @@ -20229,7 +21808,7 @@ if (!Array.isArray(message.enumType)) return "enumType: array expected"; for (var i = 0; i < message.enumType.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i], long + 1); if (error) return "enumType." + error; } @@ -20238,7 +21817,7 @@ if (!Array.isArray(message.extensionRange)) return "extensionRange: array expected"; for (var i = 0; i < message.extensionRange.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]); + var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i], long + 1); if (error) return "extensionRange." + error; } @@ -20247,13 +21826,13 @@ if (!Array.isArray(message.oneofDecl)) return "oneofDecl: array expected"; for (var i = 0; i < message.oneofDecl.length; ++i) { - var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]); + var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i], long + 1); if (error) return "oneofDecl." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MessageOptions.verify(message.options); + var error = $root.google.protobuf.MessageOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -20261,7 +21840,7 @@ if (!Array.isArray(message.reservedRange)) return "reservedRange: array expected"; for (var i = 0; i < message.reservedRange.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]); + var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i], long + 1); if (error) return "reservedRange." + error; } @@ -20273,6 +21852,15 @@ if (!$util.isString(message.reservedName[i])) return "reservedName: string[] expected"; } + if (message.visibility != null && message.hasOwnProperty("visibility")) + switch (message.visibility) { + default: + return "visibility: enum value expected"; + case 0: + case 1: + case 2: + break; + } return null; }; @@ -20284,9 +21872,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto} DescriptorProto */ - DescriptorProto.fromObject = function fromObject(object) { + DescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -20297,7 +21889,7 @@ for (var i = 0; i < object.field.length; ++i) { if (typeof object.field[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.field: object expected"); - message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]); + message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i], long + 1); } } if (object.extension) { @@ -20307,7 +21899,7 @@ for (var i = 0; i < object.extension.length; ++i) { if (typeof object.extension[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.extension: object expected"); - message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i], long + 1); } } if (object.nestedType) { @@ -20317,7 +21909,7 @@ for (var i = 0; i < object.nestedType.length; ++i) { if (typeof object.nestedType[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected"); - message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]); + message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i], long + 1); } } if (object.enumType) { @@ -20327,7 +21919,7 @@ for (var i = 0; i < object.enumType.length; ++i) { if (typeof object.enumType[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected"); - message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i], long + 1); } } if (object.extensionRange) { @@ -20337,7 +21929,7 @@ for (var i = 0; i < object.extensionRange.length; ++i) { if (typeof object.extensionRange[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected"); - message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]); + message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i], long + 1); } } if (object.oneofDecl) { @@ -20347,13 +21939,13 @@ for (var i = 0; i < object.oneofDecl.length; ++i) { if (typeof object.oneofDecl[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected"); - message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]); + message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.DescriptorProto.options: object expected"); - message.options = $root.google.protobuf.MessageOptions.fromObject(object.options); + message.options = $root.google.protobuf.MessageOptions.fromObject(object.options, long + 1); } if (object.reservedRange) { if (!Array.isArray(object.reservedRange)) @@ -20362,7 +21954,7 @@ for (var i = 0; i < object.reservedRange.length; ++i) { if (typeof object.reservedRange[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected"); - message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]); + message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i], long + 1); } } if (object.reservedName) { @@ -20372,6 +21964,26 @@ for (var i = 0; i < object.reservedName.length; ++i) message.reservedName[i] = String(object.reservedName[i]); } + switch (object.visibility) { + default: + if (typeof object.visibility === "number") { + message.visibility = object.visibility; + break; + } + break; + case "VISIBILITY_UNSET": + case 0: + message.visibility = 0; + break; + case "VISIBILITY_LOCAL": + case 1: + message.visibility = 1; + break; + case "VISIBILITY_EXPORT": + case 2: + message.visibility = 2; + break; + } return message; }; @@ -20401,6 +22013,7 @@ if (options.defaults) { object.name = ""; object.options = null; + object.visibility = options.enums === String ? "VISIBILITY_UNSET" : 0; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -20446,6 +22059,8 @@ for (var j = 0; j < message.reservedName.length; ++j) object.reservedName[j] = message.reservedName[j]; } + if (message.visibility != null && message.hasOwnProperty("visibility")) + object.visibility = options.enums === String ? $root.google.protobuf.SymbolVisibility[message.visibility] === undefined ? message.visibility : $root.google.protobuf.SymbolVisibility[message.visibility] : message.visibility; return object; }; @@ -20497,7 +22112,7 @@ function ExtensionRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20582,9 +22197,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRange.decode = function decode(reader, length, error) { + ExtensionRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20600,11 +22219,11 @@ break; } case 3: { - message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20635,9 +22254,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExtensionRange.verify = function verify(message) { + ExtensionRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -20645,7 +22268,7 @@ if (!$util.isInteger(message.end)) return "end: integer expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options); + var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -20660,9 +22283,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange */ - ExtensionRange.fromObject = function fromObject(object) { + ExtensionRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); if (object.start != null) message.start = object.start | 0; @@ -20671,7 +22298,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected"); - message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options); + message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options, long + 1); } return message; }; @@ -20753,7 +22380,7 @@ function ReservedRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20828,9 +22455,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReservedRange.decode = function decode(reader, length, error) { + ReservedRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20846,7 +22477,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20877,9 +22508,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReservedRange.verify = function verify(message) { + ReservedRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -20897,9 +22532,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange */ - ReservedRange.fromObject = function fromObject(object) { + ReservedRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto.ReservedRange(); if (object.start != null) message.start = object.start | 0; @@ -20989,7 +22628,7 @@ this.declaration = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21086,9 +22725,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRangeOptions.decode = function decode(reader, length, error) { + ExtensionRangeOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21098,17 +22741,17 @@ case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.declaration && message.declaration.length)) message.declaration = []; - message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32())); + message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 50: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -21116,7 +22759,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21147,14 +22790,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExtensionRangeOptions.verify = function verify(message) { + ExtensionRangeOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -21163,13 +22810,13 @@ if (!Array.isArray(message.declaration)) return "declaration: array expected"; for (var i = 0; i < message.declaration.length; ++i) { - var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i]); + var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i], long + 1); if (error) return "declaration." + error; } } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -21192,9 +22839,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions */ - ExtensionRangeOptions.fromObject = function fromObject(object) { + ExtensionRangeOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ExtensionRangeOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ExtensionRangeOptions(); if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -21203,7 +22854,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object.declaration) { @@ -21213,13 +22864,13 @@ for (var i = 0; i < object.declaration.length; ++i) { if (typeof object.declaration[i] !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: object expected"); - message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i]); + message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i], long + 1); } } if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } switch (object.verification) { case "DECLARATION": @@ -21328,7 +22979,7 @@ function Declaration(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21433,9 +23084,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Declaration.decode = function decode(reader, length, error) { + Declaration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21463,7 +23118,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21494,9 +23149,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Declaration.verify = function verify(message) { + Declaration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.number != null && message.hasOwnProperty("number")) if (!$util.isInteger(message.number)) return "number: integer expected"; @@ -21523,9 +23182,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration */ - Declaration.fromObject = function fromObject(object) { + Declaration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); if (object.number != null) message.number = object.number | 0; @@ -21649,7 +23312,7 @@ function FieldDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21814,9 +23477,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldDescriptorProto.decode = function decode(reader, length, error) { + FieldDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21860,7 +23527,7 @@ break; } case 8: { - message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 17: { @@ -21868,7 +23535,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21899,9 +23566,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldDescriptorProto.verify = function verify(message) { + FieldDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -21957,7 +23628,7 @@ if (!$util.isString(message.jsonName)) return "jsonName: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FieldOptions.verify(message.options); + var error = $root.google.protobuf.FieldOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -21975,9 +23646,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto */ - FieldDescriptorProto.fromObject = function fromObject(object) { + FieldDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -22096,7 +23771,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.FieldOptions.fromObject(object.options); + message.options = $root.google.protobuf.FieldOptions.fromObject(object.options, long + 1); } if (object.proto3Optional != null) message.proto3Optional = Boolean(object.proto3Optional); @@ -22266,7 +23941,7 @@ function OneofDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22341,9 +24016,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofDescriptorProto.decode = function decode(reader, length, error) { + OneofDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22355,11 +24034,11 @@ break; } case 2: { - message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22390,14 +24069,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OneofDescriptorProto.verify = function verify(message) { + OneofDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.OneofOptions.verify(message.options); + var error = $root.google.protobuf.OneofOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -22412,16 +24095,20 @@ * @param {Object.} object Plain object * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto */ - OneofDescriptorProto.fromObject = function fromObject(object) { + OneofDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.OneofDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.OneofDescriptorProto(); if (object.name != null) message.name = String(object.name); if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.OneofOptions.fromObject(object.options); + message.options = $root.google.protobuf.OneofOptions.fromObject(object.options, long + 1); } return message; }; @@ -22490,6 +24177,7 @@ * @property {google.protobuf.IEnumOptions|null} [options] EnumDescriptorProto options * @property {Array.|null} [reservedRange] EnumDescriptorProto reservedRange * @property {Array.|null} [reservedName] EnumDescriptorProto reservedName + * @property {google.protobuf.SymbolVisibility|null} [visibility] EnumDescriptorProto visibility */ /** @@ -22506,7 +24194,7 @@ this.reservedName = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22550,6 +24238,14 @@ */ EnumDescriptorProto.prototype.reservedName = $util.emptyArray; + /** + * EnumDescriptorProto visibility. + * @member {google.protobuf.SymbolVisibility} visibility + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.visibility = 0; + /** * Creates a new EnumDescriptorProto instance using the specified properties. * @function create @@ -22587,6 +24283,8 @@ if (message.reservedName != null && message.reservedName.length) for (var i = 0; i < message.reservedName.length; ++i) writer.uint32(/* id 5, wireType 2 =*/42).string(message.reservedName[i]); + if (message.visibility != null && Object.hasOwnProperty.call(message, "visibility")) + writer.uint32(/* id 6, wireType 0 =*/48).int32(message.visibility); return writer; }; @@ -22614,9 +24312,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumDescriptorProto.decode = function decode(reader, length, error) { + EnumDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22630,17 +24332,17 @@ case 2: { if (!(message.value && message.value.length)) message.value = []; - message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); + message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { if (!(message.reservedRange && message.reservedRange.length)) message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); + message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { @@ -22649,8 +24351,12 @@ message.reservedName.push(reader.string()); break; } + case 6: { + message.visibility = reader.int32(); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22681,9 +24387,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumDescriptorProto.verify = function verify(message) { + EnumDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -22691,13 +24401,13 @@ if (!Array.isArray(message.value)) return "value: array expected"; for (var i = 0; i < message.value.length; ++i) { - var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i]); + var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i], long + 1); if (error) return "value." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumOptions.verify(message.options); + var error = $root.google.protobuf.EnumOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -22705,7 +24415,7 @@ if (!Array.isArray(message.reservedRange)) return "reservedRange: array expected"; for (var i = 0; i < message.reservedRange.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i]); + var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i], long + 1); if (error) return "reservedRange." + error; } @@ -22717,6 +24427,15 @@ if (!$util.isString(message.reservedName[i])) return "reservedName: string[] expected"; } + if (message.visibility != null && message.hasOwnProperty("visibility")) + switch (message.visibility) { + default: + return "visibility: enum value expected"; + case 0: + case 1: + case 2: + break; + } return null; }; @@ -22728,9 +24447,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto */ - EnumDescriptorProto.fromObject = function fromObject(object) { + EnumDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -22741,13 +24464,13 @@ for (var i = 0; i < object.value.length; ++i) { if (typeof object.value[i] !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected"); - message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i]); + message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.EnumOptions.fromObject(object.options); + message.options = $root.google.protobuf.EnumOptions.fromObject(object.options, long + 1); } if (object.reservedRange) { if (!Array.isArray(object.reservedRange)) @@ -22756,7 +24479,7 @@ for (var i = 0; i < object.reservedRange.length; ++i) { if (typeof object.reservedRange[i] !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected"); - message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i]); + message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i], long + 1); } } if (object.reservedName) { @@ -22766,6 +24489,26 @@ for (var i = 0; i < object.reservedName.length; ++i) message.reservedName[i] = String(object.reservedName[i]); } + switch (object.visibility) { + default: + if (typeof object.visibility === "number") { + message.visibility = object.visibility; + break; + } + break; + case "VISIBILITY_UNSET": + case 0: + message.visibility = 0; + break; + case "VISIBILITY_LOCAL": + case 1: + message.visibility = 1; + break; + case "VISIBILITY_EXPORT": + case 2: + message.visibility = 2; + break; + } return message; }; @@ -22790,6 +24533,7 @@ if (options.defaults) { object.name = ""; object.options = null; + object.visibility = options.enums === String ? "VISIBILITY_UNSET" : 0; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -22810,6 +24554,8 @@ for (var j = 0; j < message.reservedName.length; ++j) object.reservedName[j] = message.reservedName[j]; } + if (message.visibility != null && message.hasOwnProperty("visibility")) + object.visibility = options.enums === String ? $root.google.protobuf.SymbolVisibility[message.visibility] === undefined ? message.visibility : $root.google.protobuf.SymbolVisibility[message.visibility] : message.visibility; return object; }; @@ -22860,7 +24606,7 @@ function EnumReservedRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22935,9 +24681,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumReservedRange.decode = function decode(reader, length, error) { + EnumReservedRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22953,7 +24703,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22984,9 +24734,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumReservedRange.verify = function verify(message) { + EnumReservedRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -23004,9 +24758,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange */ - EnumReservedRange.fromObject = function fromObject(object) { + EnumReservedRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); if (object.start != null) message.start = object.start | 0; @@ -23093,7 +24851,7 @@ function EnumValueDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23178,9 +24936,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueDescriptorProto.decode = function decode(reader, length, error) { + EnumValueDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23196,11 +24958,11 @@ break; } case 3: { - message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23231,9 +24993,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumValueDescriptorProto.verify = function verify(message) { + EnumValueDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -23241,7 +25007,7 @@ if (!$util.isInteger(message.number)) return "number: integer expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumValueOptions.verify(message.options); + var error = $root.google.protobuf.EnumValueOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -23256,9 +25022,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto */ - EnumValueDescriptorProto.fromObject = function fromObject(object) { + EnumValueDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumValueDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumValueDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -23267,7 +25037,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options); + message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options, long + 1); } return message; }; @@ -23351,7 +25121,7 @@ this.method = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23437,9 +25207,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceDescriptorProto.decode = function decode(reader, length, error) { + ServiceDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23453,15 +25227,15 @@ case 2: { if (!(message.method && message.method.length)) message.method = []; - message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); + message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23492,9 +25266,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ServiceDescriptorProto.verify = function verify(message) { + ServiceDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -23502,13 +25280,13 @@ if (!Array.isArray(message.method)) return "method: array expected"; for (var i = 0; i < message.method.length; ++i) { - var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i]); + var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i], long + 1); if (error) return "method." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ServiceOptions.verify(message.options); + var error = $root.google.protobuf.ServiceOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -23523,9 +25301,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto */ - ServiceDescriptorProto.fromObject = function fromObject(object) { + ServiceDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ServiceDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ServiceDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -23536,13 +25318,13 @@ for (var i = 0; i < object.method.length; ++i) { if (typeof object.method[i] !== "object") throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected"); - message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i]); + message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options); + message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options, long + 1); } return message; }; @@ -23632,7 +25414,7 @@ function MethodDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23747,9 +25529,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodDescriptorProto.decode = function decode(reader, length, error) { + MethodDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23769,7 +25555,7 @@ break; } case 4: { - message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -23781,7 +25567,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23812,9 +25598,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodDescriptorProto.verify = function verify(message) { + MethodDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -23825,7 +25615,7 @@ if (!$util.isString(message.outputType)) return "outputType: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MethodOptions.verify(message.options); + var error = $root.google.protobuf.MethodOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -23846,9 +25636,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto */ - MethodDescriptorProto.fromObject = function fromObject(object) { + MethodDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MethodDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MethodDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -23859,7 +25653,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.MethodOptions.fromObject(object.options); + message.options = $root.google.protobuf.MethodOptions.fromObject(object.options, long + 1); } if (object.clientStreaming != null) message.clientStreaming = Boolean(object.clientStreaming); @@ -23976,7 +25770,7 @@ this[".google.api.resourceDefinition"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24253,9 +26047,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.decode = function decode(reader, length, error) { + FileOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24339,23 +26137,23 @@ break; } case 50: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1053: { if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length)) message[".google.api.resourceDefinition"] = []; - message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32())); + message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -24386,9 +26184,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileOptions.verify = function verify(message) { + FileOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) if (!$util.isString(message.javaPackage)) return "javaPackage: string expected"; @@ -24453,7 +26255,7 @@ if (!$util.isString(message.rubyPackage)) return "rubyPackage: string expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -24461,7 +26263,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -24470,7 +26272,7 @@ if (!Array.isArray(message[".google.api.resourceDefinition"])) return ".google.api.resourceDefinition: array expected"; for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) { - var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i]); + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i], long + 1); if (error) return ".google.api.resourceDefinition." + error; } @@ -24486,9 +26288,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileOptions} FileOptions */ - FileOptions.fromObject = function fromObject(object) { + FileOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileOptions(); if (object.javaPackage != null) message.javaPackage = String(object.javaPackage); @@ -24549,7 +26355,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.FileOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -24558,7 +26364,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.resourceDefinition"]) { @@ -24568,7 +26374,7 @@ for (var i = 0; i < object[".google.api.resourceDefinition"].length; ++i) { if (typeof object[".google.api.resourceDefinition"][i] !== "object") throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: object expected"); - message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i]); + message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i], long + 1); } } return message; @@ -24739,7 +26545,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24875,9 +26681,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MessageOptions.decode = function decode(reader, length, error) { + MessageOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24905,21 +26715,21 @@ break; } case 12: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1053: { - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32()); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -24950,9 +26760,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MessageOptions.verify = function verify(message) { + MessageOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) if (typeof message.messageSetWireFormat !== "boolean") return "messageSetWireFormat: boolean expected"; @@ -24969,7 +26783,7 @@ if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") return "deprecatedLegacyJsonFieldConflicts: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -24977,13 +26791,13 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } } if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) { - var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"]); + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"], long + 1); if (error) return ".google.api.resource." + error; } @@ -24998,9 +26812,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MessageOptions} MessageOptions */ - MessageOptions.fromObject = function fromObject(object) { + MessageOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MessageOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MessageOptions(); if (object.messageSetWireFormat != null) message.messageSetWireFormat = Boolean(object.messageSetWireFormat); @@ -25015,7 +26833,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.MessageOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -25024,13 +26842,13 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.resource"] != null) { if (typeof object[".google.api.resource"] !== "object") throw TypeError(".google.protobuf.MessageOptions..google.api.resource: object expected"); - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"]); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"], long + 1); } return message; }; @@ -25128,6 +26946,7 @@ * @property {Array.|null} [targets] FieldOptions targets * @property {Array.|null} [editionDefaults] FieldOptions editionDefaults * @property {google.protobuf.IFeatureSet|null} [features] FieldOptions features + * @property {google.protobuf.FieldOptions.IFeatureSupport|null} [featureSupport] FieldOptions featureSupport * @property {Array.|null} [uninterpretedOption] FieldOptions uninterpretedOption * @property {Array.|null} [".google.api.fieldBehavior"] FieldOptions .google.api.fieldBehavior * @property {google.api.IResourceReference|null} [".google.api.resourceReference"] FieldOptions .google.api.resourceReference @@ -25148,7 +26967,7 @@ this[".google.api.fieldBehavior"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -25248,6 +27067,14 @@ */ FieldOptions.prototype.features = null; + /** + * FieldOptions featureSupport. + * @member {google.protobuf.FieldOptions.IFeatureSupport|null|undefined} featureSupport + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.featureSupport = null; + /** * FieldOptions uninterpretedOption. * @member {Array.} uninterpretedOption @@ -25322,6 +27149,8 @@ $root.google.protobuf.FieldOptions.EditionDefault.encode(message.editionDefaults[i], writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); if (message.features != null && Object.hasOwnProperty.call(message, "features")) $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.featureSupport != null && Object.hasOwnProperty.call(message, "featureSupport")) + $root.google.protobuf.FieldOptions.FeatureSupport.encode(message.featureSupport, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); @@ -25357,9 +27186,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldOptions.decode = function decode(reader, length, error) { + FieldOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -25416,17 +27249,21 @@ case 20: { if (!(message.editionDefaults && message.editionDefaults.length)) message.editionDefaults = []; - message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32())); + message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 21: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); + break; + } + case 22: { + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1052: { @@ -25441,11 +27278,11 @@ break; } case 1055: { - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32()); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -25476,9 +27313,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldOptions.verify = function verify(message) { + FieldOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ctype != null && message.hasOwnProperty("ctype")) switch (message.ctype) { default: @@ -25548,21 +27389,26 @@ if (!Array.isArray(message.editionDefaults)) return "editionDefaults: array expected"; for (var i = 0; i < message.editionDefaults.length; ++i) { - var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i]); + var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i], long + 1); if (error) return "editionDefaults." + error; } } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } + if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) { + var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport, long + 1); + if (error) + return "featureSupport." + error; + } if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -25587,7 +27433,7 @@ } } if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) { - var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"]); + var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"], long + 1); if (error) return ".google.api.resourceReference." + error; } @@ -25602,9 +27448,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions} FieldOptions */ - FieldOptions.fromObject = function fromObject(object) { + FieldOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions(); switch (object.ctype) { default: @@ -25738,13 +27588,18 @@ for (var i = 0; i < object.editionDefaults.length; ++i) { if (typeof object.editionDefaults[i] !== "object") throw TypeError(".google.protobuf.FieldOptions.editionDefaults: object expected"); - message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i]); + message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i], long + 1); } } if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.FieldOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); + } + if (object.featureSupport != null) { + if (typeof object.featureSupport !== "object") + throw TypeError(".google.protobuf.FieldOptions.featureSupport: object expected"); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -25753,7 +27608,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.fieldBehavior"]) { @@ -25808,7 +27663,7 @@ if (object[".google.api.resourceReference"] != null) { if (typeof object[".google.api.resourceReference"] !== "object") throw TypeError(".google.protobuf.FieldOptions..google.api.resourceReference: object expected"); - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"]); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"], long + 1); } return message; }; @@ -25843,6 +27698,7 @@ object.debugRedact = false; object.retention = options.enums === String ? "RETENTION_UNKNOWN" : 0; object.features = null; + object.featureSupport = null; object[".google.api.resourceReference"] = null; } if (message.ctype != null && message.hasOwnProperty("ctype")) @@ -25875,6 +27731,8 @@ } if (message.features != null && message.hasOwnProperty("features")) object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); + if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) + object.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.toObject(message.featureSupport, options); if (message.uninterpretedOption && message.uninterpretedOption.length) { object.uninterpretedOption = []; for (var j = 0; j < message.uninterpretedOption.length; ++j) @@ -26015,7 +27873,7 @@ function EditionDefault(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -26090,9 +27948,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EditionDefault.decode = function decode(reader, length, error) { + EditionDefault.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.EditionDefault(); while (reader.pos < end) { var tag = reader.uint32(); @@ -26108,7 +27970,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -26139,14 +28001,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EditionDefault.verify = function verify(message) { + EditionDefault.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.edition != null && message.hasOwnProperty("edition")) switch (message.edition) { default: return "edition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -26173,9 +28040,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault */ - EditionDefault.fromObject = function fromObject(object) { + EditionDefault.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions.EditionDefault) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions.EditionDefault(); switch (object.edition) { default: @@ -26188,6 +28059,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -26287,6 +28162,500 @@ return EditionDefault; })(); + FieldOptions.FeatureSupport = (function() { + + /** + * Properties of a FeatureSupport. + * @memberof google.protobuf.FieldOptions + * @interface IFeatureSupport + * @property {google.protobuf.Edition|null} [editionIntroduced] FeatureSupport editionIntroduced + * @property {google.protobuf.Edition|null} [editionDeprecated] FeatureSupport editionDeprecated + * @property {string|null} [deprecationWarning] FeatureSupport deprecationWarning + * @property {google.protobuf.Edition|null} [editionRemoved] FeatureSupport editionRemoved + */ + + /** + * Constructs a new FeatureSupport. + * @memberof google.protobuf.FieldOptions + * @classdesc Represents a FeatureSupport. + * @implements IFeatureSupport + * @constructor + * @param {google.protobuf.FieldOptions.IFeatureSupport=} [properties] Properties to set + */ + function FeatureSupport(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * FeatureSupport editionIntroduced. + * @member {google.protobuf.Edition} editionIntroduced + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + */ + FeatureSupport.prototype.editionIntroduced = 0; + + /** + * FeatureSupport editionDeprecated. + * @member {google.protobuf.Edition} editionDeprecated + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + */ + FeatureSupport.prototype.editionDeprecated = 0; + + /** + * FeatureSupport deprecationWarning. + * @member {string} deprecationWarning + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + */ + FeatureSupport.prototype.deprecationWarning = ""; + + /** + * FeatureSupport editionRemoved. + * @member {google.protobuf.Edition} editionRemoved + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + */ + FeatureSupport.prototype.editionRemoved = 0; + + /** + * Creates a new FeatureSupport instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {google.protobuf.FieldOptions.IFeatureSupport=} [properties] Properties to set + * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport instance + */ + FeatureSupport.create = function create(properties) { + return new FeatureSupport(properties); + }; + + /** + * Encodes the specified FeatureSupport message. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {google.protobuf.FieldOptions.IFeatureSupport} message FeatureSupport message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FeatureSupport.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.editionIntroduced != null && Object.hasOwnProperty.call(message, "editionIntroduced")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.editionIntroduced); + if (message.editionDeprecated != null && Object.hasOwnProperty.call(message, "editionDeprecated")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.editionDeprecated); + if (message.deprecationWarning != null && Object.hasOwnProperty.call(message, "deprecationWarning")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.deprecationWarning); + if (message.editionRemoved != null && Object.hasOwnProperty.call(message, "editionRemoved")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.editionRemoved); + return writer; + }; + + /** + * Encodes the specified FeatureSupport message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {google.protobuf.FieldOptions.IFeatureSupport} message FeatureSupport message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FeatureSupport.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FeatureSupport.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.FeatureSupport(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.editionIntroduced = reader.int32(); + break; + } + case 2: { + message.editionDeprecated = reader.int32(); + break; + } + case 3: { + message.deprecationWarning = reader.string(); + break; + } + case 4: { + message.editionRemoved = reader.int32(); + break; + } + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FeatureSupport.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FeatureSupport message. + * @function verify + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FeatureSupport.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + if (message.editionIntroduced != null && message.hasOwnProperty("editionIntroduced")) + switch (message.editionIntroduced) { + default: + return "editionIntroduced: enum value expected"; + case 0: + case 900: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + if (message.editionDeprecated != null && message.hasOwnProperty("editionDeprecated")) + switch (message.editionDeprecated) { + default: + return "editionDeprecated: enum value expected"; + case 0: + case 900: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + if (message.deprecationWarning != null && message.hasOwnProperty("deprecationWarning")) + if (!$util.isString(message.deprecationWarning)) + return "deprecationWarning: string expected"; + if (message.editionRemoved != null && message.hasOwnProperty("editionRemoved")) + switch (message.editionRemoved) { + default: + return "editionRemoved: enum value expected"; + case 0: + case 900: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + return null; + }; + + /** + * Creates a FeatureSupport message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport + */ + FeatureSupport.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.protobuf.FieldOptions.FeatureSupport) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var message = new $root.google.protobuf.FieldOptions.FeatureSupport(); + switch (object.editionIntroduced) { + default: + if (typeof object.editionIntroduced === "number") { + message.editionIntroduced = object.editionIntroduced; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.editionIntroduced = 0; + break; + case "EDITION_LEGACY": + case 900: + message.editionIntroduced = 900; + break; + case "EDITION_PROTO2": + case 998: + message.editionIntroduced = 998; + break; + case "EDITION_PROTO3": + case 999: + message.editionIntroduced = 999; + break; + case "EDITION_2023": + case 1000: + message.editionIntroduced = 1000; + break; + case "EDITION_2024": + case 1001: + message.editionIntroduced = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.editionIntroduced = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.editionIntroduced = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.editionIntroduced = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.editionIntroduced = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.editionIntroduced = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.editionIntroduced = 2147483647; + break; + } + switch (object.editionDeprecated) { + default: + if (typeof object.editionDeprecated === "number") { + message.editionDeprecated = object.editionDeprecated; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.editionDeprecated = 0; + break; + case "EDITION_LEGACY": + case 900: + message.editionDeprecated = 900; + break; + case "EDITION_PROTO2": + case 998: + message.editionDeprecated = 998; + break; + case "EDITION_PROTO3": + case 999: + message.editionDeprecated = 999; + break; + case "EDITION_2023": + case 1000: + message.editionDeprecated = 1000; + break; + case "EDITION_2024": + case 1001: + message.editionDeprecated = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.editionDeprecated = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.editionDeprecated = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.editionDeprecated = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.editionDeprecated = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.editionDeprecated = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.editionDeprecated = 2147483647; + break; + } + if (object.deprecationWarning != null) + message.deprecationWarning = String(object.deprecationWarning); + switch (object.editionRemoved) { + default: + if (typeof object.editionRemoved === "number") { + message.editionRemoved = object.editionRemoved; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.editionRemoved = 0; + break; + case "EDITION_LEGACY": + case 900: + message.editionRemoved = 900; + break; + case "EDITION_PROTO2": + case 998: + message.editionRemoved = 998; + break; + case "EDITION_PROTO3": + case 999: + message.editionRemoved = 999; + break; + case "EDITION_2023": + case 1000: + message.editionRemoved = 1000; + break; + case "EDITION_2024": + case 1001: + message.editionRemoved = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.editionRemoved = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.editionRemoved = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.editionRemoved = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.editionRemoved = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.editionRemoved = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.editionRemoved = 2147483647; + break; + } + return message; + }; + + /** + * Creates a plain object from a FeatureSupport message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {google.protobuf.FieldOptions.FeatureSupport} message FeatureSupport + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FeatureSupport.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.editionIntroduced = options.enums === String ? "EDITION_UNKNOWN" : 0; + object.editionDeprecated = options.enums === String ? "EDITION_UNKNOWN" : 0; + object.deprecationWarning = ""; + object.editionRemoved = options.enums === String ? "EDITION_UNKNOWN" : 0; + } + if (message.editionIntroduced != null && message.hasOwnProperty("editionIntroduced")) + object.editionIntroduced = options.enums === String ? $root.google.protobuf.Edition[message.editionIntroduced] === undefined ? message.editionIntroduced : $root.google.protobuf.Edition[message.editionIntroduced] : message.editionIntroduced; + if (message.editionDeprecated != null && message.hasOwnProperty("editionDeprecated")) + object.editionDeprecated = options.enums === String ? $root.google.protobuf.Edition[message.editionDeprecated] === undefined ? message.editionDeprecated : $root.google.protobuf.Edition[message.editionDeprecated] : message.editionDeprecated; + if (message.deprecationWarning != null && message.hasOwnProperty("deprecationWarning")) + object.deprecationWarning = message.deprecationWarning; + if (message.editionRemoved != null && message.hasOwnProperty("editionRemoved")) + object.editionRemoved = options.enums === String ? $root.google.protobuf.Edition[message.editionRemoved] === undefined ? message.editionRemoved : $root.google.protobuf.Edition[message.editionRemoved] : message.editionRemoved; + return object; + }; + + /** + * Converts this FeatureSupport to JSON. + * @function toJSON + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + * @returns {Object.} JSON object + */ + FeatureSupport.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FeatureSupport + * @function getTypeUrl + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FeatureSupport.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldOptions.FeatureSupport"; + }; + + return FeatureSupport; + })(); + return FieldOptions; })(); @@ -26312,7 +28681,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -26388,9 +28757,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofOptions.decode = function decode(reader, length, error) { + OneofOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -26398,17 +28771,17 @@ break; switch (tag >>> 3) { case 1: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -26439,11 +28812,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OneofOptions.verify = function verify(message) { + OneofOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -26451,7 +28828,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -26467,14 +28844,18 @@ * @param {Object.} object Plain object * @returns {google.protobuf.OneofOptions} OneofOptions */ - OneofOptions.fromObject = function fromObject(object) { + OneofOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.OneofOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.OneofOptions(); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.OneofOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -26483,7 +28864,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -26570,7 +28951,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -26676,9 +29057,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumOptions.decode = function decode(reader, length, error) { + EnumOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -26698,17 +29083,17 @@ break; } case 7: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -26739,9 +29124,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumOptions.verify = function verify(message) { + EnumOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) if (typeof message.allowAlias !== "boolean") return "allowAlias: boolean expected"; @@ -26752,7 +29141,7 @@ if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") return "deprecatedLegacyJsonFieldConflicts: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -26760,7 +29149,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -26776,9 +29165,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumOptions} EnumOptions */ - EnumOptions.fromObject = function fromObject(object) { + EnumOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumOptions(); if (object.allowAlias != null) message.allowAlias = Boolean(object.allowAlias); @@ -26789,7 +29182,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.EnumOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -26798,7 +29191,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -26879,6 +29272,7 @@ * @property {boolean|null} [deprecated] EnumValueOptions deprecated * @property {google.protobuf.IFeatureSet|null} [features] EnumValueOptions features * @property {boolean|null} [debugRedact] EnumValueOptions debugRedact + * @property {google.protobuf.FieldOptions.IFeatureSupport|null} [featureSupport] EnumValueOptions featureSupport * @property {Array.|null} [uninterpretedOption] EnumValueOptions uninterpretedOption */ @@ -26894,7 +29288,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -26922,6 +29316,14 @@ */ EnumValueOptions.prototype.debugRedact = false; + /** + * EnumValueOptions featureSupport. + * @member {google.protobuf.FieldOptions.IFeatureSupport|null|undefined} featureSupport + * @memberof google.protobuf.EnumValueOptions + * @instance + */ + EnumValueOptions.prototype.featureSupport = null; + /** * EnumValueOptions uninterpretedOption. * @member {Array.} uninterpretedOption @@ -26960,6 +29362,8 @@ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.debugRedact != null && Object.hasOwnProperty.call(message, "debugRedact")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.debugRedact); + if (message.featureSupport != null && Object.hasOwnProperty.call(message, "featureSupport")) + $root.google.protobuf.FieldOptions.FeatureSupport.encode(message.featureSupport, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); @@ -26990,9 +29394,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueOptions.decode = function decode(reader, length, error) { + EnumValueOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -27004,21 +29412,25 @@ break; } case 2: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { message.debugRedact = reader.bool(); break; } + case 4: { + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32(), undefined, long + 1); + break; + } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -27049,25 +29461,34 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumValueOptions.verify = function verify(message) { + EnumValueOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.deprecated != null && message.hasOwnProperty("deprecated")) if (typeof message.deprecated !== "boolean") return "deprecated: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) if (typeof message.debugRedact !== "boolean") return "debugRedact: boolean expected"; + if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) { + var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport, long + 1); + if (error) + return "featureSupport." + error; + } if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -27083,19 +29504,28 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumValueOptions} EnumValueOptions */ - EnumValueOptions.fromObject = function fromObject(object) { + EnumValueOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumValueOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumValueOptions(); if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.EnumValueOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.debugRedact != null) message.debugRedact = Boolean(object.debugRedact); + if (object.featureSupport != null) { + if (typeof object.featureSupport !== "object") + throw TypeError(".google.protobuf.EnumValueOptions.featureSupport: object expected"); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport, long + 1); + } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected"); @@ -27103,7 +29533,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -27128,6 +29558,7 @@ object.deprecated = false; object.features = null; object.debugRedact = false; + object.featureSupport = null; } if (message.deprecated != null && message.hasOwnProperty("deprecated")) object.deprecated = message.deprecated; @@ -27135,6 +29566,8 @@ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) object.debugRedact = message.debugRedact; + if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) + object.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.toObject(message.featureSupport, options); if (message.uninterpretedOption && message.uninterpretedOption.length) { object.uninterpretedOption = []; for (var j = 0; j < message.uninterpretedOption.length; ++j) @@ -27198,7 +29631,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -27314,9 +29747,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceOptions.decode = function decode(reader, length, error) { + ServiceOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -27324,7 +29761,7 @@ break; switch (tag >>> 3) { case 34: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 33: { @@ -27334,7 +29771,7 @@ case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1049: { @@ -27350,7 +29787,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -27381,11 +29818,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ServiceOptions.verify = function verify(message) { + ServiceOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -27396,7 +29837,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -27421,14 +29862,18 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ServiceOptions} ServiceOptions */ - ServiceOptions.fromObject = function fromObject(object) { + ServiceOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ServiceOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ServiceOptions(); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.ServiceOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); @@ -27439,7 +29884,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.defaultHost"] != null) @@ -27547,7 +29992,7 @@ this[".google.api.methodSignature"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -27664,9 +30109,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodOptions.decode = function decode(reader, length, error) { + MethodOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -27682,17 +30131,17 @@ break; } case 35: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 72295728: { - message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32()); + message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1051: { @@ -27702,7 +30151,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -27733,9 +30182,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodOptions.verify = function verify(message) { + MethodOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.deprecated != null && message.hasOwnProperty("deprecated")) if (typeof message.deprecated !== "boolean") return "deprecated: boolean expected"; @@ -27749,7 +30202,7 @@ break; } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -27757,13 +30210,13 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } } if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) { - var error = $root.google.api.HttpRule.verify(message[".google.api.http"]); + var error = $root.google.api.HttpRule.verify(message[".google.api.http"], long + 1); if (error) return ".google.api.http." + error; } @@ -27785,9 +30238,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MethodOptions} MethodOptions */ - MethodOptions.fromObject = function fromObject(object) { + MethodOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MethodOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MethodOptions(); if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); @@ -27814,7 +30271,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.MethodOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -27823,13 +30280,13 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.http"] != null) { if (typeof object[".google.api.http"] !== "object") throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected"); - message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"]); + message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"], long + 1); } if (object[".google.api.methodSignature"]) { if (!Array.isArray(object[".google.api.methodSignature"])) @@ -27957,7 +30414,7 @@ this.name = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -28083,9 +30540,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UninterpretedOption.decode = function decode(reader, length, error) { + UninterpretedOption.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption(); while (reader.pos < end) { var tag = reader.uint32(); @@ -28095,7 +30556,7 @@ case 2: { if (!(message.name && message.name.length)) message.name = []; - message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); + message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -28123,7 +30584,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -28154,14 +30615,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UninterpretedOption.verify = function verify(message) { + UninterpretedOption.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) { if (!Array.isArray(message.name)) return "name: array expected"; for (var i = 0; i < message.name.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i]); + var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i], long + 1); if (error) return "name." + error; } @@ -28195,9 +30660,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.UninterpretedOption} UninterpretedOption */ - UninterpretedOption.fromObject = function fromObject(object) { + UninterpretedOption.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.UninterpretedOption) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.UninterpretedOption(); if (object.name) { if (!Array.isArray(object.name)) @@ -28206,7 +30675,7 @@ for (var i = 0; i < object.name.length; ++i) { if (typeof object.name[i] !== "object") throw TypeError(".google.protobuf.UninterpretedOption.name: object expected"); - message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i]); + message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i], long + 1); } } if (object.identifierValue != null) @@ -28351,7 +30820,7 @@ function NamePart(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -28424,9 +30893,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NamePart.decode = function decode(reader, length, error) { + NamePart.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart(); while (reader.pos < end) { var tag = reader.uint32(); @@ -28442,7 +30915,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -28477,9 +30950,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NamePart.verify = function verify(message) { + NamePart.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (!$util.isString(message.namePart)) return "namePart: string expected"; if (typeof message.isExtension !== "boolean") @@ -28495,9 +30972,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart */ - NamePart.fromObject = function fromObject(object) { + NamePart.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.UninterpretedOption.NamePart) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.UninterpretedOption.NamePart(); if (object.namePart != null) message.namePart = String(object.namePart); @@ -28574,6 +31055,8 @@ * @property {google.protobuf.FeatureSet.Utf8Validation|null} [utf8Validation] FeatureSet utf8Validation * @property {google.protobuf.FeatureSet.MessageEncoding|null} [messageEncoding] FeatureSet messageEncoding * @property {google.protobuf.FeatureSet.JsonFormat|null} [jsonFormat] FeatureSet jsonFormat + * @property {google.protobuf.FeatureSet.EnforceNamingStyle|null} [enforceNamingStyle] FeatureSet enforceNamingStyle + * @property {google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|null} [defaultSymbolVisibility] FeatureSet defaultSymbolVisibility */ /** @@ -28587,7 +31070,7 @@ function FeatureSet(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -28639,6 +31122,22 @@ */ FeatureSet.prototype.jsonFormat = 0; + /** + * FeatureSet enforceNamingStyle. + * @member {google.protobuf.FeatureSet.EnforceNamingStyle} enforceNamingStyle + * @memberof google.protobuf.FeatureSet + * @instance + */ + FeatureSet.prototype.enforceNamingStyle = 0; + + /** + * FeatureSet defaultSymbolVisibility. + * @member {google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility} defaultSymbolVisibility + * @memberof google.protobuf.FeatureSet + * @instance + */ + FeatureSet.prototype.defaultSymbolVisibility = 0; + /** * Creates a new FeatureSet instance using the specified properties. * @function create @@ -28675,6 +31174,10 @@ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.messageEncoding); if (message.jsonFormat != null && Object.hasOwnProperty.call(message, "jsonFormat")) writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jsonFormat); + if (message.enforceNamingStyle != null && Object.hasOwnProperty.call(message, "enforceNamingStyle")) + writer.uint32(/* id 7, wireType 0 =*/56).int32(message.enforceNamingStyle); + if (message.defaultSymbolVisibility != null && Object.hasOwnProperty.call(message, "defaultSymbolVisibility")) + writer.uint32(/* id 8, wireType 0 =*/64).int32(message.defaultSymbolVisibility); return writer; }; @@ -28702,9 +31205,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSet.decode = function decode(reader, length, error) { + FeatureSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -28735,8 +31242,16 @@ message.jsonFormat = reader.int32(); break; } + case 7: { + message.enforceNamingStyle = reader.int32(); + break; + } + case 8: { + message.defaultSymbolVisibility = reader.int32(); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -28767,9 +31282,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSet.verify = function verify(message) { + FeatureSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence")) switch (message.fieldPresence) { default: @@ -28825,6 +31344,26 @@ case 2: break; } + if (message.enforceNamingStyle != null && message.hasOwnProperty("enforceNamingStyle")) + switch (message.enforceNamingStyle) { + default: + return "enforceNamingStyle: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.defaultSymbolVisibility != null && message.hasOwnProperty("defaultSymbolVisibility")) + switch (message.defaultSymbolVisibility) { + default: + return "defaultSymbolVisibility: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } return null; }; @@ -28836,9 +31375,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSet} FeatureSet */ - FeatureSet.fromObject = function fromObject(object) { + FeatureSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSet(); switch (object.fieldPresence) { default: @@ -28964,6 +31507,54 @@ message.jsonFormat = 2; break; } + switch (object.enforceNamingStyle) { + default: + if (typeof object.enforceNamingStyle === "number") { + message.enforceNamingStyle = object.enforceNamingStyle; + break; + } + break; + case "ENFORCE_NAMING_STYLE_UNKNOWN": + case 0: + message.enforceNamingStyle = 0; + break; + case "STYLE2024": + case 1: + message.enforceNamingStyle = 1; + break; + case "STYLE_LEGACY": + case 2: + message.enforceNamingStyle = 2; + break; + } + switch (object.defaultSymbolVisibility) { + default: + if (typeof object.defaultSymbolVisibility === "number") { + message.defaultSymbolVisibility = object.defaultSymbolVisibility; + break; + } + break; + case "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": + case 0: + message.defaultSymbolVisibility = 0; + break; + case "EXPORT_ALL": + case 1: + message.defaultSymbolVisibility = 1; + break; + case "EXPORT_TOP_LEVEL": + case 2: + message.defaultSymbolVisibility = 2; + break; + case "LOCAL_ALL": + case 3: + message.defaultSymbolVisibility = 3; + break; + case "STRICT": + case 4: + message.defaultSymbolVisibility = 4; + break; + } return message; }; @@ -28987,6 +31578,8 @@ object.utf8Validation = options.enums === String ? "UTF8_VALIDATION_UNKNOWN" : 0; object.messageEncoding = options.enums === String ? "MESSAGE_ENCODING_UNKNOWN" : 0; object.jsonFormat = options.enums === String ? "JSON_FORMAT_UNKNOWN" : 0; + object.enforceNamingStyle = options.enums === String ? "ENFORCE_NAMING_STYLE_UNKNOWN" : 0; + object.defaultSymbolVisibility = options.enums === String ? "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN" : 0; } if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence")) object.fieldPresence = options.enums === String ? $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] === undefined ? message.fieldPresence : $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] : message.fieldPresence; @@ -29000,6 +31593,10 @@ object.messageEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] === undefined ? message.messageEncoding : $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] : message.messageEncoding; if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat")) object.jsonFormat = options.enums === String ? $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] === undefined ? message.jsonFormat : $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] : message.jsonFormat; + if (message.enforceNamingStyle != null && message.hasOwnProperty("enforceNamingStyle")) + object.enforceNamingStyle = options.enums === String ? $root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle] === undefined ? message.enforceNamingStyle : $root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle] : message.enforceNamingStyle; + if (message.defaultSymbolVisibility != null && message.hasOwnProperty("defaultSymbolVisibility")) + object.defaultSymbolVisibility = options.enums === String ? $root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility] === undefined ? message.defaultSymbolVisibility : $root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility] : message.defaultSymbolVisibility; return object; }; @@ -29127,6 +31724,231 @@ return values; })(); + /** + * EnforceNamingStyle enum. + * @name google.protobuf.FeatureSet.EnforceNamingStyle + * @enum {number} + * @property {number} ENFORCE_NAMING_STYLE_UNKNOWN=0 ENFORCE_NAMING_STYLE_UNKNOWN value + * @property {number} STYLE2024=1 STYLE2024 value + * @property {number} STYLE_LEGACY=2 STYLE_LEGACY value + */ + FeatureSet.EnforceNamingStyle = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "ENFORCE_NAMING_STYLE_UNKNOWN"] = 0; + values[valuesById[1] = "STYLE2024"] = 1; + values[valuesById[2] = "STYLE_LEGACY"] = 2; + return values; + })(); + + FeatureSet.VisibilityFeature = (function() { + + /** + * Properties of a VisibilityFeature. + * @memberof google.protobuf.FeatureSet + * @interface IVisibilityFeature + */ + + /** + * Constructs a new VisibilityFeature. + * @memberof google.protobuf.FeatureSet + * @classdesc Represents a VisibilityFeature. + * @implements IVisibilityFeature + * @constructor + * @param {google.protobuf.FeatureSet.IVisibilityFeature=} [properties] Properties to set + */ + function VisibilityFeature(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new VisibilityFeature instance using the specified properties. + * @function create + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {google.protobuf.FeatureSet.IVisibilityFeature=} [properties] Properties to set + * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature instance + */ + VisibilityFeature.create = function create(properties) { + return new VisibilityFeature(properties); + }; + + /** + * Encodes the specified VisibilityFeature message. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {google.protobuf.FeatureSet.IVisibilityFeature} message VisibilityFeature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VisibilityFeature.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified VisibilityFeature message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {google.protobuf.FeatureSet.IVisibilityFeature} message VisibilityFeature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VisibilityFeature.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VisibilityFeature.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet.VisibilityFeature(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VisibilityFeature.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VisibilityFeature message. + * @function verify + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VisibilityFeature.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + return null; + }; + + /** + * Creates a VisibilityFeature message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature + */ + VisibilityFeature.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.protobuf.FeatureSet.VisibilityFeature) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + return new $root.google.protobuf.FeatureSet.VisibilityFeature(); + }; + + /** + * Creates a plain object from a VisibilityFeature message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {google.protobuf.FeatureSet.VisibilityFeature} message VisibilityFeature + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VisibilityFeature.toObject = function toObject() { + return {}; + }; + + /** + * Converts this VisibilityFeature to JSON. + * @function toJSON + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @instance + * @returns {Object.} JSON object + */ + VisibilityFeature.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for VisibilityFeature + * @function getTypeUrl + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VisibilityFeature.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FeatureSet.VisibilityFeature"; + }; + + /** + * DefaultSymbolVisibility enum. + * @name google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility + * @enum {number} + * @property {number} DEFAULT_SYMBOL_VISIBILITY_UNKNOWN=0 DEFAULT_SYMBOL_VISIBILITY_UNKNOWN value + * @property {number} EXPORT_ALL=1 EXPORT_ALL value + * @property {number} EXPORT_TOP_LEVEL=2 EXPORT_TOP_LEVEL value + * @property {number} LOCAL_ALL=3 LOCAL_ALL value + * @property {number} STRICT=4 STRICT value + */ + VisibilityFeature.DefaultSymbolVisibility = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN"] = 0; + values[valuesById[1] = "EXPORT_ALL"] = 1; + values[valuesById[2] = "EXPORT_TOP_LEVEL"] = 2; + values[valuesById[3] = "LOCAL_ALL"] = 3; + values[valuesById[4] = "STRICT"] = 4; + return values; + })(); + + return VisibilityFeature; + })(); + return FeatureSet; })(); @@ -29153,7 +31975,7 @@ this.defaults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -29239,9 +32061,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSetDefaults.decode = function decode(reader, length, error) { + FeatureSetDefaults.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults(); while (reader.pos < end) { var tag = reader.uint32(); @@ -29251,7 +32077,7 @@ case 1: { if (!(message.defaults && message.defaults.length)) message.defaults = []; - message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32())); + message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { @@ -29263,7 +32089,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -29294,14 +32120,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSetDefaults.verify = function verify(message) { + FeatureSetDefaults.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.defaults != null && message.hasOwnProperty("defaults")) { if (!Array.isArray(message.defaults)) return "defaults: array expected"; for (var i = 0; i < message.defaults.length; ++i) { - var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i]); + var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i], long + 1); if (error) return "defaults." + error; } @@ -29311,6 +32141,7 @@ default: return "minimumEdition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -29328,6 +32159,7 @@ default: return "maximumEdition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -29351,9 +32183,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults */ - FeatureSetDefaults.fromObject = function fromObject(object) { + FeatureSetDefaults.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSetDefaults) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSetDefaults(); if (object.defaults) { if (!Array.isArray(object.defaults)) @@ -29362,7 +32198,7 @@ for (var i = 0; i < object.defaults.length; ++i) { if (typeof object.defaults[i] !== "object") throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: object expected"); - message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i]); + message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i], long + 1); } } switch (object.minimumEdition) { @@ -29376,6 +32212,10 @@ case 0: message.minimumEdition = 0; break; + case "EDITION_LEGACY": + case 900: + message.minimumEdition = 900; + break; case "EDITION_PROTO2": case 998: message.minimumEdition = 998; @@ -29428,6 +32268,10 @@ case 0: message.maximumEdition = 0; break; + case "EDITION_LEGACY": + case 900: + message.maximumEdition = 900; + break; case "EDITION_PROTO2": case 998: message.maximumEdition = 998; @@ -29536,7 +32380,8 @@ * @memberof google.protobuf.FeatureSetDefaults * @interface IFeatureSetEditionDefault * @property {google.protobuf.Edition|null} [edition] FeatureSetEditionDefault edition - * @property {google.protobuf.IFeatureSet|null} [features] FeatureSetEditionDefault features + * @property {google.protobuf.IFeatureSet|null} [overridableFeatures] FeatureSetEditionDefault overridableFeatures + * @property {google.protobuf.IFeatureSet|null} [fixedFeatures] FeatureSetEditionDefault fixedFeatures */ /** @@ -29550,7 +32395,7 @@ function FeatureSetEditionDefault(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -29563,12 +32408,20 @@ FeatureSetEditionDefault.prototype.edition = 0; /** - * FeatureSetEditionDefault features. - * @member {google.protobuf.IFeatureSet|null|undefined} features + * FeatureSetEditionDefault overridableFeatures. + * @member {google.protobuf.IFeatureSet|null|undefined} overridableFeatures + * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + * @instance + */ + FeatureSetEditionDefault.prototype.overridableFeatures = null; + + /** + * FeatureSetEditionDefault fixedFeatures. + * @member {google.protobuf.IFeatureSet|null|undefined} fixedFeatures * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault * @instance */ - FeatureSetEditionDefault.prototype.features = null; + FeatureSetEditionDefault.prototype.fixedFeatures = null; /** * Creates a new FeatureSetEditionDefault instance using the specified properties. @@ -29594,10 +32447,12 @@ FeatureSetEditionDefault.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.features != null && Object.hasOwnProperty.call(message, "features")) - $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.edition); + if (message.overridableFeatures != null && Object.hasOwnProperty.call(message, "overridableFeatures")) + $root.google.protobuf.FeatureSet.encode(message.overridableFeatures, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.fixedFeatures != null && Object.hasOwnProperty.call(message, "fixedFeatures")) + $root.google.protobuf.FeatureSet.encode(message.fixedFeatures, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -29625,9 +32480,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSetEditionDefault.decode = function decode(reader, length, error) { + FeatureSetEditionDefault.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); while (reader.pos < end) { var tag = reader.uint32(); @@ -29638,12 +32497,16 @@ message.edition = reader.int32(); break; } - case 2: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + case 4: { + message.overridableFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); + break; + } + case 5: { + message.fixedFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -29674,14 +32537,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSetEditionDefault.verify = function verify(message) { + FeatureSetEditionDefault.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.edition != null && message.hasOwnProperty("edition")) switch (message.edition) { default: return "edition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -29694,10 +32562,15 @@ case 2147483647: break; } - if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures")) { + var error = $root.google.protobuf.FeatureSet.verify(message.overridableFeatures, long + 1); + if (error) + return "overridableFeatures." + error; + } + if (message.fixedFeatures != null && message.hasOwnProperty("fixedFeatures")) { + var error = $root.google.protobuf.FeatureSet.verify(message.fixedFeatures, long + 1); if (error) - return "features." + error; + return "fixedFeatures." + error; } return null; }; @@ -29710,9 +32583,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault */ - FeatureSetEditionDefault.fromObject = function fromObject(object) { + FeatureSetEditionDefault.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); switch (object.edition) { default: @@ -29725,6 +32602,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -29766,10 +32647,15 @@ message.edition = 2147483647; break; } - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + if (object.overridableFeatures != null) { + if (typeof object.overridableFeatures !== "object") + throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridableFeatures: object expected"); + message.overridableFeatures = $root.google.protobuf.FeatureSet.fromObject(object.overridableFeatures, long + 1); + } + if (object.fixedFeatures != null) { + if (typeof object.fixedFeatures !== "object") + throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixedFeatures: object expected"); + message.fixedFeatures = $root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures, long + 1); } return message; }; @@ -29788,13 +32674,16 @@ options = {}; var object = {}; if (options.defaults) { - object.features = null; object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; + object.overridableFeatures = null; + object.fixedFeatures = null; } - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); if (message.edition != null && message.hasOwnProperty("edition")) object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; + if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures")) + object.overridableFeatures = $root.google.protobuf.FeatureSet.toObject(message.overridableFeatures, options); + if (message.fixedFeatures != null && message.hasOwnProperty("fixedFeatures")) + object.fixedFeatures = $root.google.protobuf.FeatureSet.toObject(message.fixedFeatures, options); return object; }; @@ -29851,7 +32740,7 @@ this.location = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -29917,9 +32806,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SourceCodeInfo.decode = function decode(reader, length, error) { + SourceCodeInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -29929,11 +32822,11 @@ case 1: { if (!(message.location && message.location.length)) message.location = []; - message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); + message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -29964,14 +32857,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SourceCodeInfo.verify = function verify(message) { + SourceCodeInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.location != null && message.hasOwnProperty("location")) { if (!Array.isArray(message.location)) return "location: array expected"; for (var i = 0; i < message.location.length; ++i) { - var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i]); + var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i], long + 1); if (error) return "location." + error; } @@ -29987,9 +32884,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo */ - SourceCodeInfo.fromObject = function fromObject(object) { + SourceCodeInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.SourceCodeInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.SourceCodeInfo(); if (object.location) { if (!Array.isArray(object.location)) @@ -29998,7 +32899,7 @@ for (var i = 0; i < object.location.length; ++i) { if (typeof object.location[i] !== "object") throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected"); - message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i]); + message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i], long + 1); } } return message; @@ -30080,7 +32981,7 @@ this.leadingDetachedComments = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -30194,9 +33095,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Location.decode = function decode(reader, length, error) { + Location.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo.Location(); while (reader.pos < end) { var tag = reader.uint32(); @@ -30240,7 +33145,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -30271,9 +33176,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Location.verify = function verify(message) { + Location.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.path != null && message.hasOwnProperty("path")) { if (!Array.isArray(message.path)) return "path: array expected"; @@ -30312,9 +33221,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.SourceCodeInfo.Location} Location */ - Location.fromObject = function fromObject(object) { + Location.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.SourceCodeInfo.Location) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.SourceCodeInfo.Location(); if (object.path) { if (!Array.isArray(object.path)) @@ -30441,7 +33354,7 @@ this.annotation = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -30507,9 +33420,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeneratedCodeInfo.decode = function decode(reader, length, error) { + GeneratedCodeInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -30519,11 +33436,11 @@ case 1: { if (!(message.annotation && message.annotation.length)) message.annotation = []; - message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); + message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -30554,14 +33471,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GeneratedCodeInfo.verify = function verify(message) { + GeneratedCodeInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.annotation != null && message.hasOwnProperty("annotation")) { if (!Array.isArray(message.annotation)) return "annotation: array expected"; for (var i = 0; i < message.annotation.length; ++i) { - var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i]); + var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i], long + 1); if (error) return "annotation." + error; } @@ -30577,9 +33498,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo */ - GeneratedCodeInfo.fromObject = function fromObject(object) { + GeneratedCodeInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.GeneratedCodeInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.GeneratedCodeInfo(); if (object.annotation) { if (!Array.isArray(object.annotation)) @@ -30588,7 +33513,7 @@ for (var i = 0; i < object.annotation.length; ++i) { if (typeof object.annotation[i] !== "object") throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected"); - message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i]); + message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i], long + 1); } } return message; @@ -30668,7 +33593,7 @@ this.path = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -30777,9 +33702,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Annotation.decode = function decode(reader, length, error) { + Annotation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -30814,7 +33743,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -30845,9 +33774,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Annotation.verify = function verify(message) { + Annotation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.path != null && message.hasOwnProperty("path")) { if (!Array.isArray(message.path)) return "path: array expected"; @@ -30884,9 +33817,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation */ - Annotation.fromObject = function fromObject(object) { + Annotation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); if (object.path) { if (!Array.isArray(object.path)) @@ -31009,6 +33946,22 @@ return GeneratedCodeInfo; })(); + /** + * SymbolVisibility enum. + * @name google.protobuf.SymbolVisibility + * @enum {number} + * @property {number} VISIBILITY_UNSET=0 VISIBILITY_UNSET value + * @property {number} VISIBILITY_LOCAL=1 VISIBILITY_LOCAL value + * @property {number} VISIBILITY_EXPORT=2 VISIBILITY_EXPORT value + */ + protobuf.SymbolVisibility = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "VISIBILITY_UNSET"] = 0; + values[valuesById[1] = "VISIBILITY_LOCAL"] = 1; + values[valuesById[2] = "VISIBILITY_EXPORT"] = 2; + return values; + })(); + protobuf.Duration = (function() { /** @@ -31030,7 +33983,7 @@ function Duration(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -31105,9 +34058,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Duration.decode = function decode(reader, length, error) { + Duration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -31123,7 +34080,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -31154,9 +34111,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Duration.verify = function verify(message) { + Duration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.seconds != null && message.hasOwnProperty("seconds")) if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) return "seconds: integer|Long expected"; @@ -31174,9 +34135,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Duration} Duration */ - Duration.fromObject = function fromObject(object) { + Duration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Duration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Duration(); if (object.seconds != null) if ($util.Long) @@ -31273,7 +34238,7 @@ this.paths = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -31339,9 +34304,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldMask.decode = function decode(reader, length, error) { + FieldMask.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldMask(); while (reader.pos < end) { var tag = reader.uint32(); @@ -31355,7 +34324,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -31386,9 +34355,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldMask.verify = function verify(message) { + FieldMask.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.paths != null && message.hasOwnProperty("paths")) { if (!Array.isArray(message.paths)) return "paths: array expected"; @@ -31407,9 +34380,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldMask} FieldMask */ - FieldMask.fromObject = function fromObject(object) { + FieldMask.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldMask) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldMask(); if (object.paths) { if (!Array.isArray(object.paths)) @@ -31492,7 +34469,7 @@ function Empty(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -31547,9 +34524,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Empty.decode = function decode(reader, length, error) { + Empty.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Empty(); while (reader.pos < end) { var tag = reader.uint32(); @@ -31557,7 +34538,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -31588,9 +34569,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Empty.verify = function verify(message) { + Empty.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -31602,9 +34587,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Empty} Empty */ - Empty.fromObject = function fromObject(object) { + Empty.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Empty) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.protobuf.Empty(); }; @@ -31671,7 +34660,7 @@ function Timestamp(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -31746,9 +34735,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Timestamp.decode = function decode(reader, length, error) { + Timestamp.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); while (reader.pos < end) { var tag = reader.uint32(); @@ -31764,7 +34757,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -31795,9 +34788,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Timestamp.verify = function verify(message) { + Timestamp.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.seconds != null && message.hasOwnProperty("seconds")) if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) return "seconds: integer|Long expected"; @@ -31815,9 +34812,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Timestamp} Timestamp */ - Timestamp.fromObject = function fromObject(object) { + Timestamp.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Timestamp) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Timestamp(); if (object.seconds != null) if ($util.Long) @@ -32070,7 +35071,7 @@ function SetIamPolicyRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32155,9 +35156,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SetIamPolicyRequest.decode = function decode(reader, length, error) { + SetIamPolicyRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.SetIamPolicyRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32169,15 +35174,15 @@ break; } case 2: { - message.policy = $root.google.iam.v1.Policy.decode(reader, reader.uint32()); + message.policy = $root.google.iam.v1.Policy.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32208,19 +35213,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SetIamPolicyRequest.verify = function verify(message) { + SetIamPolicyRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resource != null && message.hasOwnProperty("resource")) if (!$util.isString(message.resource)) return "resource: string expected"; if (message.policy != null && message.hasOwnProperty("policy")) { - var error = $root.google.iam.v1.Policy.verify(message.policy); + var error = $root.google.iam.v1.Policy.verify(message.policy, long + 1); if (error) return "policy." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -32235,21 +35244,25 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.SetIamPolicyRequest} SetIamPolicyRequest */ - SetIamPolicyRequest.fromObject = function fromObject(object) { + SetIamPolicyRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.SetIamPolicyRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.SetIamPolicyRequest(); if (object.resource != null) message.resource = String(object.resource); if (object.policy != null) { if (typeof object.policy !== "object") throw TypeError(".google.iam.v1.SetIamPolicyRequest.policy: object expected"); - message.policy = $root.google.iam.v1.Policy.fromObject(object.policy); + message.policy = $root.google.iam.v1.Policy.fromObject(object.policy, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.iam.v1.SetIamPolicyRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -32331,7 +35344,7 @@ function GetIamPolicyRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32406,9 +35419,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIamPolicyRequest.decode = function decode(reader, length, error) { + GetIamPolicyRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.GetIamPolicyRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32420,11 +35437,11 @@ break; } case 2: { - message.options = $root.google.iam.v1.GetPolicyOptions.decode(reader, reader.uint32()); + message.options = $root.google.iam.v1.GetPolicyOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32455,14 +35472,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIamPolicyRequest.verify = function verify(message) { + GetIamPolicyRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resource != null && message.hasOwnProperty("resource")) if (!$util.isString(message.resource)) return "resource: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.iam.v1.GetPolicyOptions.verify(message.options); + var error = $root.google.iam.v1.GetPolicyOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -32477,16 +35498,20 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.GetIamPolicyRequest} GetIamPolicyRequest */ - GetIamPolicyRequest.fromObject = function fromObject(object) { + GetIamPolicyRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.GetIamPolicyRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.GetIamPolicyRequest(); if (object.resource != null) message.resource = String(object.resource); if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.iam.v1.GetIamPolicyRequest.options: object expected"); - message.options = $root.google.iam.v1.GetPolicyOptions.fromObject(object.options); + message.options = $root.google.iam.v1.GetPolicyOptions.fromObject(object.options, long + 1); } return message; }; @@ -32566,7 +35591,7 @@ this.permissions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32642,9 +35667,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TestIamPermissionsRequest.decode = function decode(reader, length, error) { + TestIamPermissionsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.TestIamPermissionsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32662,7 +35691,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32693,9 +35722,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TestIamPermissionsRequest.verify = function verify(message) { + TestIamPermissionsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resource != null && message.hasOwnProperty("resource")) if (!$util.isString(message.resource)) return "resource: string expected"; @@ -32717,9 +35750,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.TestIamPermissionsRequest} TestIamPermissionsRequest */ - TestIamPermissionsRequest.fromObject = function fromObject(object) { + TestIamPermissionsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.TestIamPermissionsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.TestIamPermissionsRequest(); if (object.resource != null) message.resource = String(object.resource); @@ -32810,7 +35847,7 @@ this.permissions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32876,9 +35913,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TestIamPermissionsResponse.decode = function decode(reader, length, error) { + TestIamPermissionsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.TestIamPermissionsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32892,7 +35933,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32923,9 +35964,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TestIamPermissionsResponse.verify = function verify(message) { + TestIamPermissionsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.permissions != null && message.hasOwnProperty("permissions")) { if (!Array.isArray(message.permissions)) return "permissions: array expected"; @@ -32944,9 +35989,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.TestIamPermissionsResponse} TestIamPermissionsResponse */ - TestIamPermissionsResponse.fromObject = function fromObject(object) { + TestIamPermissionsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.TestIamPermissionsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.TestIamPermissionsResponse(); if (object.permissions) { if (!Array.isArray(object.permissions)) @@ -33030,7 +36079,7 @@ function GetPolicyOptions(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33095,9 +36144,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetPolicyOptions.decode = function decode(reader, length, error) { + GetPolicyOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.GetPolicyOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33109,7 +36162,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33140,9 +36193,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetPolicyOptions.verify = function verify(message) { + GetPolicyOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.requestedPolicyVersion != null && message.hasOwnProperty("requestedPolicyVersion")) if (!$util.isInteger(message.requestedPolicyVersion)) return "requestedPolicyVersion: integer expected"; @@ -33157,9 +36214,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.GetPolicyOptions} GetPolicyOptions */ - GetPolicyOptions.fromObject = function fromObject(object) { + GetPolicyOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.GetPolicyOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.GetPolicyOptions(); if (object.requestedPolicyVersion != null) message.requestedPolicyVersion = object.requestedPolicyVersion | 0; @@ -33240,7 +36301,7 @@ this.auditConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33337,9 +36398,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Policy.decode = function decode(reader, length, error) { + Policy.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.Policy(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33353,13 +36418,13 @@ case 4: { if (!(message.bindings && message.bindings.length)) message.bindings = []; - message.bindings.push($root.google.iam.v1.Binding.decode(reader, reader.uint32())); + message.bindings.push($root.google.iam.v1.Binding.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.auditConfigs && message.auditConfigs.length)) message.auditConfigs = []; - message.auditConfigs.push($root.google.iam.v1.AuditConfig.decode(reader, reader.uint32())); + message.auditConfigs.push($root.google.iam.v1.AuditConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -33367,7 +36432,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33398,9 +36463,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Policy.verify = function verify(message) { + Policy.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isInteger(message.version)) return "version: integer expected"; @@ -33408,7 +36477,7 @@ if (!Array.isArray(message.bindings)) return "bindings: array expected"; for (var i = 0; i < message.bindings.length; ++i) { - var error = $root.google.iam.v1.Binding.verify(message.bindings[i]); + var error = $root.google.iam.v1.Binding.verify(message.bindings[i], long + 1); if (error) return "bindings." + error; } @@ -33417,7 +36486,7 @@ if (!Array.isArray(message.auditConfigs)) return "auditConfigs: array expected"; for (var i = 0; i < message.auditConfigs.length; ++i) { - var error = $root.google.iam.v1.AuditConfig.verify(message.auditConfigs[i]); + var error = $root.google.iam.v1.AuditConfig.verify(message.auditConfigs[i], long + 1); if (error) return "auditConfigs." + error; } @@ -33436,9 +36505,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.Policy} Policy */ - Policy.fromObject = function fromObject(object) { + Policy.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.Policy) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.Policy(); if (object.version != null) message.version = object.version | 0; @@ -33449,7 +36522,7 @@ for (var i = 0; i < object.bindings.length; ++i) { if (typeof object.bindings[i] !== "object") throw TypeError(".google.iam.v1.Policy.bindings: object expected"); - message.bindings[i] = $root.google.iam.v1.Binding.fromObject(object.bindings[i]); + message.bindings[i] = $root.google.iam.v1.Binding.fromObject(object.bindings[i], long + 1); } } if (object.auditConfigs) { @@ -33459,7 +36532,7 @@ for (var i = 0; i < object.auditConfigs.length; ++i) { if (typeof object.auditConfigs[i] !== "object") throw TypeError(".google.iam.v1.Policy.auditConfigs: object expected"); - message.auditConfigs[i] = $root.google.iam.v1.AuditConfig.fromObject(object.auditConfigs[i]); + message.auditConfigs[i] = $root.google.iam.v1.AuditConfig.fromObject(object.auditConfigs[i], long + 1); } } if (object.etag != null) @@ -33566,7 +36639,7 @@ this.members = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33652,9 +36725,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Binding.decode = function decode(reader, length, error) { + Binding.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.Binding(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33672,11 +36749,11 @@ break; } case 3: { - message.condition = $root.google.type.Expr.decode(reader, reader.uint32()); + message.condition = $root.google.type.Expr.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33707,9 +36784,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Binding.verify = function verify(message) { + Binding.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.role != null && message.hasOwnProperty("role")) if (!$util.isString(message.role)) return "role: string expected"; @@ -33721,7 +36802,7 @@ return "members: string[] expected"; } if (message.condition != null && message.hasOwnProperty("condition")) { - var error = $root.google.type.Expr.verify(message.condition); + var error = $root.google.type.Expr.verify(message.condition, long + 1); if (error) return "condition." + error; } @@ -33736,9 +36817,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.Binding} Binding */ - Binding.fromObject = function fromObject(object) { + Binding.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.Binding) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.Binding(); if (object.role != null) message.role = String(object.role); @@ -33752,7 +36837,7 @@ if (object.condition != null) { if (typeof object.condition !== "object") throw TypeError(".google.iam.v1.Binding.condition: object expected"); - message.condition = $root.google.type.Expr.fromObject(object.condition); + message.condition = $root.google.type.Expr.fromObject(object.condition, long + 1); } return message; }; @@ -33839,7 +36924,7 @@ this.auditLogConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33915,9 +37000,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuditConfig.decode = function decode(reader, length, error) { + AuditConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.AuditConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33931,11 +37020,11 @@ case 3: { if (!(message.auditLogConfigs && message.auditLogConfigs.length)) message.auditLogConfigs = []; - message.auditLogConfigs.push($root.google.iam.v1.AuditLogConfig.decode(reader, reader.uint32())); + message.auditLogConfigs.push($root.google.iam.v1.AuditLogConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33966,9 +37055,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AuditConfig.verify = function verify(message) { + AuditConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.service != null && message.hasOwnProperty("service")) if (!$util.isString(message.service)) return "service: string expected"; @@ -33976,7 +37069,7 @@ if (!Array.isArray(message.auditLogConfigs)) return "auditLogConfigs: array expected"; for (var i = 0; i < message.auditLogConfigs.length; ++i) { - var error = $root.google.iam.v1.AuditLogConfig.verify(message.auditLogConfigs[i]); + var error = $root.google.iam.v1.AuditLogConfig.verify(message.auditLogConfigs[i], long + 1); if (error) return "auditLogConfigs." + error; } @@ -33992,9 +37085,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.AuditConfig} AuditConfig */ - AuditConfig.fromObject = function fromObject(object) { + AuditConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.AuditConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.AuditConfig(); if (object.service != null) message.service = String(object.service); @@ -34005,7 +37102,7 @@ for (var i = 0; i < object.auditLogConfigs.length; ++i) { if (typeof object.auditLogConfigs[i] !== "object") throw TypeError(".google.iam.v1.AuditConfig.auditLogConfigs: object expected"); - message.auditLogConfigs[i] = $root.google.iam.v1.AuditLogConfig.fromObject(object.auditLogConfigs[i]); + message.auditLogConfigs[i] = $root.google.iam.v1.AuditLogConfig.fromObject(object.auditLogConfigs[i], long + 1); } } return message; @@ -34089,7 +37186,7 @@ this.exemptedMembers = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -34165,9 +37262,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuditLogConfig.decode = function decode(reader, length, error) { + AuditLogConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.AuditLogConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34185,7 +37286,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34216,9 +37317,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AuditLogConfig.verify = function verify(message) { + AuditLogConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.logType != null && message.hasOwnProperty("logType")) switch (message.logType) { default: @@ -34247,9 +37352,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.AuditLogConfig} AuditLogConfig */ - AuditLogConfig.fromObject = function fromObject(object) { + AuditLogConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.AuditLogConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.AuditLogConfig(); switch (object.logType) { default: @@ -34382,7 +37491,7 @@ this.auditConfigDeltas = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -34459,9 +37568,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyDelta.decode = function decode(reader, length, error) { + PolicyDelta.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.PolicyDelta(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34471,17 +37584,17 @@ case 1: { if (!(message.bindingDeltas && message.bindingDeltas.length)) message.bindingDeltas = []; - message.bindingDeltas.push($root.google.iam.v1.BindingDelta.decode(reader, reader.uint32())); + message.bindingDeltas.push($root.google.iam.v1.BindingDelta.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.auditConfigDeltas && message.auditConfigDeltas.length)) message.auditConfigDeltas = []; - message.auditConfigDeltas.push($root.google.iam.v1.AuditConfigDelta.decode(reader, reader.uint32())); + message.auditConfigDeltas.push($root.google.iam.v1.AuditConfigDelta.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34512,14 +37625,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PolicyDelta.verify = function verify(message) { + PolicyDelta.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bindingDeltas != null && message.hasOwnProperty("bindingDeltas")) { if (!Array.isArray(message.bindingDeltas)) return "bindingDeltas: array expected"; for (var i = 0; i < message.bindingDeltas.length; ++i) { - var error = $root.google.iam.v1.BindingDelta.verify(message.bindingDeltas[i]); + var error = $root.google.iam.v1.BindingDelta.verify(message.bindingDeltas[i], long + 1); if (error) return "bindingDeltas." + error; } @@ -34528,7 +37645,7 @@ if (!Array.isArray(message.auditConfigDeltas)) return "auditConfigDeltas: array expected"; for (var i = 0; i < message.auditConfigDeltas.length; ++i) { - var error = $root.google.iam.v1.AuditConfigDelta.verify(message.auditConfigDeltas[i]); + var error = $root.google.iam.v1.AuditConfigDelta.verify(message.auditConfigDeltas[i], long + 1); if (error) return "auditConfigDeltas." + error; } @@ -34544,9 +37661,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.PolicyDelta} PolicyDelta */ - PolicyDelta.fromObject = function fromObject(object) { + PolicyDelta.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.PolicyDelta) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.PolicyDelta(); if (object.bindingDeltas) { if (!Array.isArray(object.bindingDeltas)) @@ -34555,7 +37676,7 @@ for (var i = 0; i < object.bindingDeltas.length; ++i) { if (typeof object.bindingDeltas[i] !== "object") throw TypeError(".google.iam.v1.PolicyDelta.bindingDeltas: object expected"); - message.bindingDeltas[i] = $root.google.iam.v1.BindingDelta.fromObject(object.bindingDeltas[i]); + message.bindingDeltas[i] = $root.google.iam.v1.BindingDelta.fromObject(object.bindingDeltas[i], long + 1); } } if (object.auditConfigDeltas) { @@ -34565,7 +37686,7 @@ for (var i = 0; i < object.auditConfigDeltas.length; ++i) { if (typeof object.auditConfigDeltas[i] !== "object") throw TypeError(".google.iam.v1.PolicyDelta.auditConfigDeltas: object expected"); - message.auditConfigDeltas[i] = $root.google.iam.v1.AuditConfigDelta.fromObject(object.auditConfigDeltas[i]); + message.auditConfigDeltas[i] = $root.google.iam.v1.AuditConfigDelta.fromObject(object.auditConfigDeltas[i], long + 1); } } return message; @@ -34653,7 +37774,7 @@ function BindingDelta(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -34748,9 +37869,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BindingDelta.decode = function decode(reader, length, error) { + BindingDelta.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.BindingDelta(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34770,11 +37895,11 @@ break; } case 4: { - message.condition = $root.google.type.Expr.decode(reader, reader.uint32()); + message.condition = $root.google.type.Expr.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34805,9 +37930,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BindingDelta.verify = function verify(message) { + BindingDelta.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.action != null && message.hasOwnProperty("action")) switch (message.action) { default: @@ -34824,7 +37953,7 @@ if (!$util.isString(message.member)) return "member: string expected"; if (message.condition != null && message.hasOwnProperty("condition")) { - var error = $root.google.type.Expr.verify(message.condition); + var error = $root.google.type.Expr.verify(message.condition, long + 1); if (error) return "condition." + error; } @@ -34839,9 +37968,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.BindingDelta} BindingDelta */ - BindingDelta.fromObject = function fromObject(object) { + BindingDelta.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.BindingDelta) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.BindingDelta(); switch (object.action) { default: @@ -34870,7 +38003,7 @@ if (object.condition != null) { if (typeof object.condition !== "object") throw TypeError(".google.iam.v1.BindingDelta.condition: object expected"); - message.condition = $root.google.type.Expr.fromObject(object.condition); + message.condition = $root.google.type.Expr.fromObject(object.condition, long + 1); } return message; }; @@ -34973,7 +38106,7 @@ function AuditConfigDelta(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -35068,9 +38201,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuditConfigDelta.decode = function decode(reader, length, error) { + AuditConfigDelta.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.AuditConfigDelta(); while (reader.pos < end) { var tag = reader.uint32(); @@ -35094,7 +38231,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -35125,9 +38262,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AuditConfigDelta.verify = function verify(message) { + AuditConfigDelta.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.action != null && message.hasOwnProperty("action")) switch (message.action) { default: @@ -35157,9 +38298,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.AuditConfigDelta} AuditConfigDelta */ - AuditConfigDelta.fromObject = function fromObject(object) { + AuditConfigDelta.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.AuditConfigDelta) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.AuditConfigDelta(); switch (object.action) { default: @@ -35303,7 +38448,7 @@ function Expr(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -35398,9 +38543,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Expr.decode = function decode(reader, length, error) { + Expr.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.type.Expr(); while (reader.pos < end) { var tag = reader.uint32(); @@ -35424,7 +38573,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -35455,9 +38604,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Expr.verify = function verify(message) { + Expr.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.expression != null && message.hasOwnProperty("expression")) if (!$util.isString(message.expression)) return "expression: string expected"; @@ -35481,9 +38634,13 @@ * @param {Object.} object Plain object * @returns {google.type.Expr} Expr */ - Expr.fromObject = function fromObject(object) { + Expr.fromObject = function fromObject(object, long) { if (object instanceof $root.google.type.Expr) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.type.Expr(); if (object.expression != null) message.expression = String(object.expression); diff --git a/packages/google-cloud-servicedirectory/protos/protos.json b/packages/google-cloud-servicedirectory/protos/protos.json index 3b80a35afa12..08ea7e5f5db5 100644 --- a/packages/google-cloud-servicedirectory/protos/protos.json +++ b/packages/google-cloud-servicedirectory/protos/protos.json @@ -1900,8 +1900,7 @@ "java_multiple_files": true, "java_outer_classname": "LaunchStageProto", "java_package": "com.google.api", - "objc_class_prefix": "GAPI", - "cc_enable_arenas": true + "objc_class_prefix": "GAPI" }, "nested": { "fieldBehavior": { @@ -2124,6 +2123,10 @@ "rule": "repeated", "type": "ClientLibraryDestination", "id": 2 + }, + "selectiveGapicGeneration": { + "type": "SelectiveGapicGeneration", + "id": 3 } } }, @@ -2264,6 +2267,28 @@ "common": { "type": "CommonLanguageSettings", "id": 1 + }, + "experimentalFeatures": { + "type": "ExperimentalFeatures", + "id": 2 + } + }, + "nested": { + "ExperimentalFeatures": { + "fields": { + "restAsyncIoEnabled": { + "type": "bool", + "id": 1 + }, + "protobufPythonicTypesEnabled": { + "type": "bool", + "id": 2 + }, + "unversionedPackageDisabled": { + "type": "bool", + "id": 3 + } + } } } }, @@ -2321,6 +2346,11 @@ "common": { "type": "CommonLanguageSettings", "id": 1 + }, + "renamedServices": { + "keyType": "string", + "type": "string", + "id": 2 } } }, @@ -2382,6 +2412,19 @@ "PACKAGE_MANAGER": 20 } }, + "SelectiveGapicGeneration": { + "fields": { + "methods": { + "rule": "repeated", + "type": "string", + "id": 1 + }, + "generateOmittedAsInternal": { + "type": "bool", + "id": 2 + } + } + }, "LaunchStage": { "values": { "LAUNCH_STAGE_UNSPECIFIED": 0, @@ -2415,12 +2458,19 @@ "type": "FileDescriptorProto", "id": 1 } - } + }, + "extensions": [ + [ + 536000000, + 536000000 + ] + ] }, "Edition": { "edition": "proto2", "values": { "EDITION_UNKNOWN": 0, + "EDITION_LEGACY": 900, "EDITION_PROTO2": 998, "EDITION_PROTO3": 999, "EDITION_2023": 1000, @@ -2459,6 +2509,11 @@ "type": "int32", "id": 11 }, + "optionDependency": { + "rule": "repeated", + "type": "string", + "id": 15 + }, "messageType": { "rule": "repeated", "type": "DescriptorProto", @@ -2547,6 +2602,10 @@ "rule": "repeated", "type": "string", "id": 10 + }, + "visibility": { + "type": "SymbolVisibility", + "id": 11 } }, "nested": { @@ -2772,6 +2831,10 @@ "rule": "repeated", "type": "string", "id": 5 + }, + "visibility": { + "type": "SymbolVisibility", + "id": 6 } }, "nested": { @@ -2822,7 +2885,14 @@ "type": "ServiceOptions", "id": 3 } - } + }, + "reserved": [ + [ + 4, + 4 + ], + "stream" + ] }, "MethodDescriptorProto": { "edition": "proto2", @@ -2986,6 +3056,7 @@ 42, 42 ], + "php_generic_services", [ 38, 38 @@ -3121,7 +3192,8 @@ "type": "bool", "id": 10, "options": { - "default": false + "default": false, + "deprecated": true } }, "debugRedact": { @@ -3149,6 +3221,10 @@ "type": "FeatureSet", "id": 21 }, + "featureSupport": { + "type": "FeatureSupport", + "id": 22 + }, "uninterpretedOption": { "rule": "repeated", "type": "UninterpretedOption", @@ -3218,6 +3294,26 @@ "id": 2 } } + }, + "FeatureSupport": { + "fields": { + "editionIntroduced": { + "type": "Edition", + "id": 1 + }, + "editionDeprecated": { + "type": "Edition", + "id": 2 + }, + "deprecationWarning": { + "type": "string", + "id": 3 + }, + "editionRemoved": { + "type": "Edition", + "id": 4 + } + } } } }, @@ -3306,6 +3402,10 @@ "default": false } }, + "featureSupport": { + "type": "FieldOptions.FeatureSupport", + "id": 4 + }, "uninterpretedOption": { "rule": "repeated", "type": "UninterpretedOption", @@ -3448,6 +3548,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_2023", "edition_defaults.value": "EXPLICIT" } @@ -3458,6 +3559,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "OPEN" } @@ -3468,6 +3570,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "PACKED" } @@ -3478,6 +3581,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "VERIFY" } @@ -3488,7 +3592,8 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", - "edition_defaults.edition": "EDITION_PROTO2", + "feature_support.edition_introduced": "EDITION_2023", + "edition_defaults.edition": "EDITION_LEGACY", "edition_defaults.value": "LENGTH_PREFIXED" } }, @@ -3498,27 +3603,38 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "ALLOW" } + }, + "enforceNamingStyle": { + "type": "EnforceNamingStyle", + "id": 7, + "options": { + "retention": "RETENTION_SOURCE", + "targets": "TARGET_TYPE_METHOD", + "feature_support.edition_introduced": "EDITION_2024", + "edition_defaults.edition": "EDITION_2024", + "edition_defaults.value": "STYLE2024" + } + }, + "defaultSymbolVisibility": { + "type": "VisibilityFeature.DefaultSymbolVisibility", + "id": 8, + "options": { + "retention": "RETENTION_SOURCE", + "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2024", + "edition_defaults.edition": "EDITION_2024", + "edition_defaults.value": "EXPORT_TOP_LEVEL" + } } }, "extensions": [ [ 1000, - 1000 - ], - [ - 1001, - 1001 - ], - [ - 1002, - 1002 - ], - [ - 9990, - 9990 + 9994 ], [ 9995, @@ -3563,7 +3679,13 @@ "UTF8_VALIDATION_UNKNOWN": 0, "VERIFY": 2, "NONE": 3 - } + }, + "reserved": [ + [ + 1, + 1 + ] + ] }, "MessageEncoding": { "values": { @@ -3578,6 +3700,33 @@ "ALLOW": 1, "LEGACY_BEST_EFFORT": 2 } + }, + "EnforceNamingStyle": { + "values": { + "ENFORCE_NAMING_STYLE_UNKNOWN": 0, + "STYLE2024": 1, + "STYLE_LEGACY": 2 + } + }, + "VisibilityFeature": { + "fields": {}, + "reserved": [ + [ + 1, + 536870911 + ] + ], + "nested": { + "DefaultSymbolVisibility": { + "values": { + "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": 0, + "EXPORT_ALL": 1, + "EXPORT_TOP_LEVEL": 2, + "LOCAL_ALL": 3, + "STRICT": 4 + } + } + } } } }, @@ -3605,11 +3754,26 @@ "type": "Edition", "id": 3 }, - "features": { + "overridableFeatures": { "type": "FeatureSet", - "id": 2 + "id": 4 + }, + "fixedFeatures": { + "type": "FeatureSet", + "id": 5 } - } + }, + "reserved": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + "features" + ] } } }, @@ -3622,6 +3786,12 @@ "id": 1 } }, + "extensions": [ + [ + 536000000, + 536000000 + ] + ], "nested": { "Location": { "fields": { @@ -3707,6 +3877,14 @@ } } }, + "SymbolVisibility": { + "edition": "proto2", + "values": { + "VISIBILITY_UNSET": 0, + "VISIBILITY_LOCAL": 1, + "VISIBILITY_EXPORT": 2 + } + }, "Duration": { "fields": { "seconds": { @@ -3749,13 +3927,13 @@ "nested": { "v1": { "options": { - "cc_enable_arenas": true, "csharp_namespace": "Google.Cloud.Iam.V1", "go_package": "cloud.google.com/go/iam/apiv1/iampb;iampb", "java_multiple_files": true, "java_outer_classname": "PolicyProto", "java_package": "com.google.iam.v1", - "php_namespace": "Google\\Cloud\\Iam\\V1" + "php_namespace": "Google\\Cloud\\Iam\\V1", + "cc_enable_arenas": true }, "nested": { "IAMPolicy": { diff --git a/packages/google-cloud-servicedirectory/src/v1/index.ts b/packages/google-cloud-servicedirectory/src/v1/index.ts index e07a321f9339..0f60415e91f2 100644 --- a/packages/google-cloud-servicedirectory/src/v1/index.ts +++ b/packages/google-cloud-servicedirectory/src/v1/index.ts @@ -16,5 +16,5 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -export {LookupServiceClient} from './lookup_service_client'; -export {RegistrationServiceClient} from './registration_service_client'; +export { LookupServiceClient } from './lookup_service_client'; +export { RegistrationServiceClient } from './registration_service_client'; diff --git a/packages/google-cloud-servicedirectory/src/v1/lookup_service_client.ts b/packages/google-cloud-servicedirectory/src/v1/lookup_service_client.ts index 3b1bbc86860e..c05a2bc077c0 100644 --- a/packages/google-cloud-servicedirectory/src/v1/lookup_service_client.ts +++ b/packages/google-cloud-servicedirectory/src/v1/lookup_service_client.ts @@ -18,11 +18,18 @@ /* global window */ import type * as gax from 'google-gax'; -import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax'; +import type { + Callback, + CallOptions, + Descriptors, + ClientOptions, + LocationsClient, + LocationProtos, +} from 'google-gax'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); -import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax'; +import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -44,7 +51,7 @@ export class LookupServiceClient { private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; + private _defaults: { [method: string]: gax.CallSettings }; private _universeDomain: string; private _servicePath: string; private _log = logging.log('service-directory'); @@ -57,10 +64,10 @@ export class LookupServiceClient { batching: {}, }; warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; + innerApiCalls: { [name: string]: Function }; locationsClient: LocationsClient; - pathTemplates: {[name: string]: gax.PathTemplate}; - lookupServiceStub?: Promise<{[name: string]: Function}>; + pathTemplates: { [name: string]: gax.PathTemplate }; + lookupServiceStub?: Promise<{ [name: string]: Function }>; /** * Construct an instance of LookupServiceClient. @@ -101,21 +108,42 @@ export class LookupServiceClient { * const client = new LookupServiceClient({fallback: true}, gax); * ``` */ - constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback, + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof LookupServiceClient; - if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) { - throw new Error('Please set either universe_domain or universeDomain, but not both.'); + if ( + opts?.universe_domain && + opts?.universeDomain && + opts?.universe_domain !== opts?.universeDomain + ) { + throw new Error( + 'Please set either universe_domain or universeDomain, but not both.', + ); } - const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined; - this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com'; + const universeDomainEnvVar = + typeof process === 'object' && typeof process.env === 'object' + ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] + : undefined; + this._universeDomain = + opts?.universeDomain ?? + opts?.universe_domain ?? + universeDomainEnvVar ?? + 'googleapis.com'; this._servicePath = 'servicedirectory.' + this._universeDomain; - const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const servicePath = + opts?.servicePath || opts?.apiEndpoint || this._servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); - opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts); // Request numeric enum values if REST transport is used. opts.numericEnums = true; @@ -140,7 +168,7 @@ export class LookupServiceClient { this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Set useJWTAccessWithScope on the auth object. this.auth.useJWTAccessWithScope = true; @@ -154,15 +182,11 @@ export class LookupServiceClient { } this.locationsClient = new this._gaxModule.LocationsClient( this._gaxGrpc, - opts + opts, ); - // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process === 'object' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { @@ -184,20 +208,23 @@ export class LookupServiceClient { // Create useful helper objects for these. this.pathTemplates = { endpointPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}/endpoints/{endpoint}' + 'projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}/endpoints/{endpoint}', ), namespacePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/namespaces/{namespace}' + 'projects/{project}/locations/{location}/namespaces/{namespace}', ), servicePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}' + 'projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}', ), }; // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.servicedirectory.v1.LookupService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + 'google.cloud.servicedirectory.v1.LookupService', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + { 'x-goog-api-client': clientHeader.join(' ') }, + ); // Set up a dictionary of "inner API calls"; the core implementation // of calling the API is handled in `google-gax`, with this code @@ -228,36 +255,40 @@ export class LookupServiceClient { // Put together the "service stub" for // google.cloud.servicedirectory.v1.LookupService. this.lookupServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.servicedirectory.v1.LookupService') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.servicedirectory.v1.LookupService', + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.servicedirectory.v1.LookupService, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + this._opts, + this._providedCustomServicePath, + ) as Promise<{ [method: string]: Function }>; // Iterate over each of the methods that the service provides // and create an API call method for each. - const lookupServiceStubMethods = - ['resolveService']; + const lookupServiceStubMethods = ['resolveService']; for (const methodName of lookupServiceStubMethods) { const callPromise = this.lookupServiceStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, - (err: Error|null|undefined) => () => { + (stub) => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error | null | undefined) => () => { throw err; - }); + }, + ); - const descriptor = - undefined; + const descriptor = undefined; const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], descriptor, - this._opts.fallback + this._opts.fallback, ); this.innerApiCalls[methodName] = apiCall; @@ -272,8 +303,14 @@ export class LookupServiceClient { * @returns {string} The DNS address for this service. */ static get servicePath() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static servicePath is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'servicedirectory.googleapis.com'; } @@ -284,8 +321,14 @@ export class LookupServiceClient { * @returns {string} The DNS address for this service. */ static get apiEndpoint() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static apiEndpoint is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'servicedirectory.googleapis.com'; } @@ -316,9 +359,7 @@ export class LookupServiceClient { * @returns {string[]} List of default scopes. */ static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; + return ['https://www.googleapis.com/auth/cloud-platform']; } getProjectId(): Promise; @@ -327,8 +368,9 @@ export class LookupServiceClient { * Return the project ID used by this class. * @returns {Promise} A promise that resolves to string containing the project ID. */ - getProjectId(callback?: Callback): - Promise|void { + getProjectId( + callback?: Callback, + ): Promise | void { if (callback) { this.auth.getProjectId(callback); return; @@ -339,145 +381,194 @@ export class LookupServiceClient { // ------------------- // -- Service calls -- // ------------------- -/** - * Returns a {@link protos.google.cloud.servicedirectory.v1.Service|service} and its - * associated endpoints. - * Resolving a service is not considered an active developer method. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the service to resolve. - * @param {number} [request.maxEndpoints] - * Optional. The maximum number of endpoints to return. Defaults to 25. - * Maximum is 100. If a value less than one is specified, the Default is used. - * If a value greater than the Maximum is specified, the Maximum is used. - * @param {string} [request.endpointFilter] - * Optional. The filter applied to the endpoints of the resolved service. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name`, `address`, `port`, or `annotations.` for - * map field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `annotations.owner` returns endpoints that have a annotation with the - * key `owner`, this is the same as `annotations:owner` - * * `annotations.protocol=gRPC` returns endpoints that have key/value - * `protocol=gRPC` - * * `address=192.108.1.105` returns endpoints that have this address - * * `port>8080` returns endpoints that have port number larger than 8080 - * * - * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` - * returns endpoints that have name that is alphabetically later than the - * string, so "endpoint-e" is returned but "endpoint-a" is not - * * - * `name=projects/my-project/locations/us-central1/namespaces/my-namespace/services/my-service/endpoints/ep-1` - * returns the endpoint that has an endpoint_id equal to `ep-1` - * * `annotations.owner!=sd AND annotations.foo=bar` returns endpoints that - * have `owner` in annotation key but value is not `sd` AND have - * key/value `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that endpoint - * doesn't have a field called "doesnotexist". Since the filter does not - * match any endpoint, it returns no results - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.ResolveServiceResponse|ResolveServiceResponse}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/lookup_service.resolve_service.js - * region_tag:servicedirectory_v1_generated_LookupService_ResolveService_async - */ + /** + * Returns a {@link protos.google.cloud.servicedirectory.v1.Service|service} and its + * associated endpoints. + * Resolving a service is not considered an active developer method. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the service to resolve. + * @param {number} [request.maxEndpoints] + * Optional. The maximum number of endpoints to return. Defaults to 25. + * Maximum is 100. If a value less than one is specified, the Default is used. + * If a value greater than the Maximum is specified, the Maximum is used. + * @param {string} [request.endpointFilter] + * Optional. The filter applied to the endpoints of the resolved service. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name`, `address`, `port`, or `annotations.` for + * map field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `annotations.owner` returns endpoints that have a annotation with the + * key `owner`, this is the same as `annotations:owner` + * * `annotations.protocol=gRPC` returns endpoints that have key/value + * `protocol=gRPC` + * * `address=192.108.1.105` returns endpoints that have this address + * * `port>8080` returns endpoints that have port number larger than 8080 + * * + * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` + * returns endpoints that have name that is alphabetically later than the + * string, so "endpoint-e" is returned but "endpoint-a" is not + * * + * `name=projects/my-project/locations/us-central1/namespaces/my-namespace/services/my-service/endpoints/ep-1` + * returns the endpoint that has an endpoint_id equal to `ep-1` + * * `annotations.owner!=sd AND annotations.foo=bar` returns endpoints that + * have `owner` in annotation key but value is not `sd` AND have + * key/value `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that endpoint + * doesn't have a field called "doesnotexist". Since the filter does not + * match any endpoint, it returns no results + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.ResolveServiceResponse|ResolveServiceResponse}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/lookup_service.resolve_service.js + * region_tag:servicedirectory_v1_generated_LookupService_ResolveService_async + */ resolveService( - request?: protos.google.cloud.servicedirectory.v1.IResolveServiceRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1.IResolveServiceResponse, - protos.google.cloud.servicedirectory.v1.IResolveServiceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1.IResolveServiceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IResolveServiceResponse, + ( + | protos.google.cloud.servicedirectory.v1.IResolveServiceRequest + | undefined + ), + {} | undefined, + ] + >; resolveService( - request: protos.google.cloud.servicedirectory.v1.IResolveServiceRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1.IResolveServiceResponse, - protos.google.cloud.servicedirectory.v1.IResolveServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IResolveServiceRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1.IResolveServiceResponse, + | protos.google.cloud.servicedirectory.v1.IResolveServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; resolveService( - request: protos.google.cloud.servicedirectory.v1.IResolveServiceRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1.IResolveServiceResponse, - protos.google.cloud.servicedirectory.v1.IResolveServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IResolveServiceRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1.IResolveServiceResponse, + | protos.google.cloud.servicedirectory.v1.IResolveServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; resolveService( - request?: protos.google.cloud.servicedirectory.v1.IResolveServiceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1.IResolveServiceResponse, - protos.google.cloud.servicedirectory.v1.IResolveServiceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1.IResolveServiceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1.IResolveServiceResponse, - protos.google.cloud.servicedirectory.v1.IResolveServiceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1.IResolveServiceResponse, - protos.google.cloud.servicedirectory.v1.IResolveServiceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1.IResolveServiceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1.IResolveServiceResponse, + | protos.google.cloud.servicedirectory.v1.IResolveServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IResolveServiceResponse, + ( + | protos.google.cloud.servicedirectory.v1.IResolveServiceRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('resolveService request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1.IResolveServiceResponse, - protos.google.cloud.servicedirectory.v1.IResolveServiceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1.IResolveServiceResponse, + | protos.google.cloud.servicedirectory.v1.IResolveServiceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('resolveService response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.resolveService(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1.IResolveServiceResponse, - protos.google.cloud.servicedirectory.v1.IResolveServiceRequest|undefined, - {}|undefined - ]) => { - this._log.info('resolveService response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .resolveService(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1.IResolveServiceResponse, + ( + | protos.google.cloud.servicedirectory.v1.IResolveServiceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('resolveService response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** + /** * Gets information about a location. * * @param {Object} request @@ -512,12 +603,11 @@ export class LookupServiceClient { | null | undefined, {} | null | undefined - > + >, ): Promise { return this.locationsClient.getLocation(request, options, callback); } - -/** + /** * Lists information about the supported locations for this service. Returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. @@ -550,7 +640,7 @@ export class LookupServiceClient { */ listLocationsAsync( request: LocationProtos.google.cloud.location.IListLocationsRequest, - options?: CallOptions + options?: CallOptions, ): AsyncIterable { return this.locationsClient.listLocationsAsync(request, options); } @@ -569,7 +659,13 @@ export class LookupServiceClient { * @param {string} endpoint * @returns {string} Resource name string. */ - endpointPath(project:string,location:string,namespace:string,service:string,endpoint:string) { + endpointPath( + project: string, + location: string, + namespace: string, + service: string, + endpoint: string, + ) { return this.pathTemplates.endpointPathTemplate.render({ project: project, location: location, @@ -609,7 +705,8 @@ export class LookupServiceClient { * @returns {string} A string representing the namespace. */ matchNamespaceFromEndpointName(endpointName: string) { - return this.pathTemplates.endpointPathTemplate.match(endpointName).namespace; + return this.pathTemplates.endpointPathTemplate.match(endpointName) + .namespace; } /** @@ -642,7 +739,7 @@ export class LookupServiceClient { * @param {string} namespace * @returns {string} Resource name string. */ - namespacePath(project:string,location:string,namespace:string) { + namespacePath(project: string, location: string, namespace: string) { return this.pathTemplates.namespacePathTemplate.render({ project: project, location: location, @@ -658,7 +755,8 @@ export class LookupServiceClient { * @returns {string} A string representing the project. */ matchProjectFromNamespaceName(namespaceName: string) { - return this.pathTemplates.namespacePathTemplate.match(namespaceName).project; + return this.pathTemplates.namespacePathTemplate.match(namespaceName) + .project; } /** @@ -669,7 +767,8 @@ export class LookupServiceClient { * @returns {string} A string representing the location. */ matchLocationFromNamespaceName(namespaceName: string) { - return this.pathTemplates.namespacePathTemplate.match(namespaceName).location; + return this.pathTemplates.namespacePathTemplate.match(namespaceName) + .location; } /** @@ -680,7 +779,8 @@ export class LookupServiceClient { * @returns {string} A string representing the namespace. */ matchNamespaceFromNamespaceName(namespaceName: string) { - return this.pathTemplates.namespacePathTemplate.match(namespaceName).namespace; + return this.pathTemplates.namespacePathTemplate.match(namespaceName) + .namespace; } /** @@ -692,7 +792,12 @@ export class LookupServiceClient { * @param {string} service * @returns {string} Resource name string. */ - servicePath(project:string,location:string,namespace:string,service:string) { + servicePath( + project: string, + location: string, + namespace: string, + service: string, + ) { return this.pathTemplates.servicePathTemplate.render({ project: project, location: location, @@ -753,13 +858,15 @@ export class LookupServiceClient { */ close(): Promise { if (this.lookupServiceStub && !this._terminated) { - return this.lookupServiceStub.then(stub => { + return this.lookupServiceStub.then((stub) => { this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); - this.locationsClient.close().catch(err => {throw err}); + this.locationsClient.close().catch((err) => { + throw err; + }); }); } return Promise.resolve(); } -} \ No newline at end of file +} diff --git a/packages/google-cloud-servicedirectory/src/v1/registration_service_client.ts b/packages/google-cloud-servicedirectory/src/v1/registration_service_client.ts index 1dc6658962ca..7b3dedfc7c74 100644 --- a/packages/google-cloud-servicedirectory/src/v1/registration_service_client.ts +++ b/packages/google-cloud-servicedirectory/src/v1/registration_service_client.ts @@ -18,11 +18,20 @@ /* global window */ import type * as gax from 'google-gax'; -import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall, LocationsClient, LocationProtos} from 'google-gax'; -import {Transform} from 'stream'; +import type { + Callback, + CallOptions, + Descriptors, + ClientOptions, + PaginationCallback, + GaxCall, + LocationsClient, + LocationProtos, +} from 'google-gax'; +import { Transform } from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); -import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax'; +import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -58,7 +67,7 @@ export class RegistrationServiceClient { private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; + private _defaults: { [method: string]: gax.CallSettings }; private _universeDomain: string; private _servicePath: string; private _log = logging.log('service-directory'); @@ -71,10 +80,10 @@ export class RegistrationServiceClient { batching: {}, }; warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; + innerApiCalls: { [name: string]: Function }; locationsClient: LocationsClient; - pathTemplates: {[name: string]: gax.PathTemplate}; - registrationServiceStub?: Promise<{[name: string]: Function}>; + pathTemplates: { [name: string]: gax.PathTemplate }; + registrationServiceStub?: Promise<{ [name: string]: Function }>; /** * Construct an instance of RegistrationServiceClient. @@ -115,21 +124,42 @@ export class RegistrationServiceClient { * const client = new RegistrationServiceClient({fallback: true}, gax); * ``` */ - constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback, + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof RegistrationServiceClient; - if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) { - throw new Error('Please set either universe_domain or universeDomain, but not both.'); + if ( + opts?.universe_domain && + opts?.universeDomain && + opts?.universe_domain !== opts?.universeDomain + ) { + throw new Error( + 'Please set either universe_domain or universeDomain, but not both.', + ); } - const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined; - this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com'; + const universeDomainEnvVar = + typeof process === 'object' && typeof process.env === 'object' + ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] + : undefined; + this._universeDomain = + opts?.universeDomain ?? + opts?.universe_domain ?? + universeDomainEnvVar ?? + 'googleapis.com'; this._servicePath = 'servicedirectory.' + this._universeDomain; - const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const servicePath = + opts?.servicePath || opts?.apiEndpoint || this._servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); - opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts); // Request numeric enum values if REST transport is used. opts.numericEnums = true; @@ -154,7 +184,7 @@ export class RegistrationServiceClient { this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Set useJWTAccessWithScope on the auth object. this.auth.useJWTAccessWithScope = true; @@ -168,15 +198,11 @@ export class RegistrationServiceClient { } this.locationsClient = new this._gaxModule.LocationsClient( this._gaxGrpc, - opts + opts, ); - // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process === 'object' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { @@ -198,16 +224,16 @@ export class RegistrationServiceClient { // Create useful helper objects for these. this.pathTemplates = { endpointPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}/endpoints/{endpoint}' + 'projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}/endpoints/{endpoint}', ), locationPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}' + 'projects/{project}/locations/{location}', ), namespacePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/namespaces/{namespace}' + 'projects/{project}/locations/{location}/namespaces/{namespace}', ), servicePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}' + 'projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}', ), }; @@ -215,18 +241,30 @@ export class RegistrationServiceClient { // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. this.descriptors.page = { - listNamespaces: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'namespaces'), - listServices: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'services'), - listEndpoints: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'endpoints') + listNamespaces: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'namespaces', + ), + listServices: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'services', + ), + listEndpoints: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'endpoints', + ), }; // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.servicedirectory.v1.RegistrationService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + 'google.cloud.servicedirectory.v1.RegistrationService', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + { 'x-goog-api-client': clientHeader.join(' ') }, + ); // Set up a dictionary of "inner API calls"; the core implementation // of calling the API is handled in `google-gax`, with this code @@ -257,37 +295,60 @@ export class RegistrationServiceClient { // Put together the "service stub" for // google.cloud.servicedirectory.v1.RegistrationService. this.registrationServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.servicedirectory.v1.RegistrationService') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.cloud.servicedirectory.v1.RegistrationService, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.servicedirectory.v1.RegistrationService', + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.servicedirectory.v1 + .RegistrationService, + this._opts, + this._providedCustomServicePath, + ) as Promise<{ [method: string]: Function }>; // Iterate over each of the methods that the service provides // and create an API call method for each. - const registrationServiceStubMethods = - ['createNamespace', 'listNamespaces', 'getNamespace', 'updateNamespace', 'deleteNamespace', 'createService', 'listServices', 'getService', 'updateService', 'deleteService', 'createEndpoint', 'listEndpoints', 'getEndpoint', 'updateEndpoint', 'deleteEndpoint', 'getIamPolicy', 'setIamPolicy', 'testIamPermissions']; + const registrationServiceStubMethods = [ + 'createNamespace', + 'listNamespaces', + 'getNamespace', + 'updateNamespace', + 'deleteNamespace', + 'createService', + 'listServices', + 'getService', + 'updateService', + 'deleteService', + 'createEndpoint', + 'listEndpoints', + 'getEndpoint', + 'updateEndpoint', + 'deleteEndpoint', + 'getIamPolicy', + 'setIamPolicy', + 'testIamPermissions', + ]; for (const methodName of registrationServiceStubMethods) { const callPromise = this.registrationServiceStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, - (err: Error|null|undefined) => () => { + (stub) => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error | null | undefined) => () => { throw err; - }); + }, + ); - const descriptor = - this.descriptors.page[methodName] || - undefined; + const descriptor = this.descriptors.page[methodName] || undefined; const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], descriptor, - this._opts.fallback + this._opts.fallback, ); this.innerApiCalls[methodName] = apiCall; @@ -302,8 +363,14 @@ export class RegistrationServiceClient { * @returns {string} The DNS address for this service. */ static get servicePath() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static servicePath is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'servicedirectory.googleapis.com'; } @@ -314,8 +381,14 @@ export class RegistrationServiceClient { * @returns {string} The DNS address for this service. */ static get apiEndpoint() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static apiEndpoint is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'servicedirectory.googleapis.com'; } @@ -346,9 +419,7 @@ export class RegistrationServiceClient { * @returns {string[]} List of default scopes. */ static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; + return ['https://www.googleapis.com/auth/cloud-platform']; } getProjectId(): Promise; @@ -357,8 +428,9 @@ export class RegistrationServiceClient { * Return the project ID used by this class. * @returns {Promise} A promise that resolves to string containing the project ID. */ - getProjectId(callback?: Callback): - Promise|void { + getProjectId( + callback?: Callback, + ): Promise | void { if (callback) { this.auth.getProjectId(callback); return; @@ -369,1601 +441,2268 @@ export class RegistrationServiceClient { // ------------------- // -- Service calls -- // ------------------- -/** - * Creates a namespace, and returns the new namespace. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the project and location the namespace - * will be created in. - * @param {string} request.namespaceId - * Required. The Resource ID must be 1-63 characters long, and comply with - * RFC1035. - * Specifically, the name must be 1-63 characters long and match the regular - * expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first - * character must be a lowercase letter, and all following characters must - * be a dash, lowercase letter, or digit, except the last character, which - * cannot be a dash. - * @param {google.cloud.servicedirectory.v1.Namespace} request.namespace - * Required. A namespace with initial fields set. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Namespace|Namespace}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.create_namespace.js - * region_tag:servicedirectory_v1_generated_RegistrationService_CreateNamespace_async - */ + /** + * Creates a namespace, and returns the new namespace. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the project and location the namespace + * will be created in. + * @param {string} request.namespaceId + * Required. The Resource ID must be 1-63 characters long, and comply with + * RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first + * character must be a lowercase letter, and all following characters must + * be a dash, lowercase letter, or digit, except the last character, which + * cannot be a dash. + * @param {google.cloud.servicedirectory.v1.Namespace} request.namespace + * Required. A namespace with initial fields set. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Namespace|Namespace}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.create_namespace.js + * region_tag:servicedirectory_v1_generated_RegistrationService_CreateNamespace_async + */ createNamespace( - request?: protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.INamespace, + ( + | protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest + | undefined + ), + {} | undefined, + ] + >; createNamespace( - request: protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1.INamespace, + | protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; createNamespace( - request: protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1.INamespace, + | protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; createNamespace( - request?: protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1.INamespace, + | protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.INamespace, + ( + | protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('createNamespace request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1.INamespace, + | protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('createNamespace response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.createNamespace(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest|undefined, - {}|undefined - ]) => { - this._log.info('createNamespace response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .createNamespace(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1.INamespace, + ( + | protos.google.cloud.servicedirectory.v1.ICreateNamespaceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('createNamespace response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Gets a namespace. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the namespace to retrieve. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Namespace|Namespace}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.get_namespace.js - * region_tag:servicedirectory_v1_generated_RegistrationService_GetNamespace_async - */ + /** + * Gets a namespace. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the namespace to retrieve. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Namespace|Namespace}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.get_namespace.js + * region_tag:servicedirectory_v1_generated_RegistrationService_GetNamespace_async + */ getNamespace( - request?: protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.INamespace, + protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest | undefined, + {} | undefined, + ] + >; getNamespace( - request: protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1.INamespace, + | protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getNamespace( - request: protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1.INamespace, + | protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getNamespace( - request?: protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1.INamespace, + | protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.INamespace, + protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getNamespace request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1.INamespace, + | protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getNamespace response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getNamespace(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest|undefined, - {}|undefined - ]) => { - this._log.info('getNamespace response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getNamespace(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1.INamespace, + ( + | protos.google.cloud.servicedirectory.v1.IGetNamespaceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getNamespace response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Updates a namespace. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.servicedirectory.v1.Namespace} request.namespace - * Required. The updated namespace. - * @param {google.protobuf.FieldMask} request.updateMask - * Required. List of fields to be updated in this request. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Namespace|Namespace}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.update_namespace.js - * region_tag:servicedirectory_v1_generated_RegistrationService_UpdateNamespace_async - */ + /** + * Updates a namespace. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.servicedirectory.v1.Namespace} request.namespace + * Required. The updated namespace. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. List of fields to be updated in this request. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Namespace|Namespace}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.update_namespace.js + * region_tag:servicedirectory_v1_generated_RegistrationService_UpdateNamespace_async + */ updateNamespace( - request?: protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.INamespace, + ( + | protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest + | undefined + ), + {} | undefined, + ] + >; updateNamespace( - request: protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1.INamespace, + | protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; updateNamespace( - request: protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1.INamespace, + | protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; updateNamespace( - request?: protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1.INamespace, + | protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.INamespace, + ( + | protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'namespace.name': request.namespace!.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + 'namespace.name': request.namespace!.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('updateNamespace request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1.INamespace, + | protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('updateNamespace response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.updateNamespace(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1.INamespace, - protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest|undefined, - {}|undefined - ]) => { - this._log.info('updateNamespace response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .updateNamespace(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1.INamespace, + ( + | protos.google.cloud.servicedirectory.v1.IUpdateNamespaceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('updateNamespace response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Deletes a namespace. This also deletes all services and endpoints in - * the namespace. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the namespace to delete. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.delete_namespace.js - * region_tag:servicedirectory_v1_generated_RegistrationService_DeleteNamespace_async - */ + /** + * Deletes a namespace. This also deletes all services and endpoints in + * the namespace. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the namespace to delete. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.delete_namespace.js + * region_tag:servicedirectory_v1_generated_RegistrationService_DeleteNamespace_async + */ deleteNamespace( - request?: protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest, - options?: CallOptions): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest + | undefined + ), + {} | undefined, + ] + >; deleteNamespace( - request: protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest, - options: CallOptions, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; deleteNamespace( - request: protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; deleteNamespace( - request?: protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('deleteNamespace request %j', request); - const wrappedCallback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('deleteNamespace response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.deleteNamespace(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest|undefined, - {}|undefined - ]) => { - this._log.info('deleteNamespace response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .deleteNamespace(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.servicedirectory.v1.IDeleteNamespaceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('deleteNamespace response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Creates a service, and returns the new service. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the namespace this service will belong to. - * @param {string} request.serviceId - * Required. The Resource ID must be 1-63 characters long, and comply with - * RFC1035. - * Specifically, the name must be 1-63 characters long and match the regular - * expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first - * character must be a lowercase letter, and all following characters must - * be a dash, lowercase letter, or digit, except the last character, which - * cannot be a dash. - * @param {google.cloud.servicedirectory.v1.Service} request.service - * Required. A service with initial fields set. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Service|Service}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.create_service.js - * region_tag:servicedirectory_v1_generated_RegistrationService_CreateService_async - */ + /** + * Creates a service, and returns the new service. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the namespace this service will belong to. + * @param {string} request.serviceId + * Required. The Resource ID must be 1-63 characters long, and comply with + * RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first + * character must be a lowercase letter, and all following characters must + * be a dash, lowercase letter, or digit, except the last character, which + * cannot be a dash. + * @param {google.cloud.servicedirectory.v1.Service} request.service + * Required. A service with initial fields set. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Service|Service}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.create_service.js + * region_tag:servicedirectory_v1_generated_RegistrationService_CreateService_async + */ createService( - request?: protos.google.cloud.servicedirectory.v1.ICreateServiceRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.ICreateServiceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1.ICreateServiceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IService, + protos.google.cloud.servicedirectory.v1.ICreateServiceRequest | undefined, + {} | undefined, + ] + >; createService( - request: protos.google.cloud.servicedirectory.v1.ICreateServiceRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.ICreateServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.ICreateServiceRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1.IService, + | protos.google.cloud.servicedirectory.v1.ICreateServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; createService( - request: protos.google.cloud.servicedirectory.v1.ICreateServiceRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.ICreateServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.ICreateServiceRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1.IService, + | protos.google.cloud.servicedirectory.v1.ICreateServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; createService( - request?: protos.google.cloud.servicedirectory.v1.ICreateServiceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.ICreateServiceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1.ICreateServiceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.ICreateServiceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.ICreateServiceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1.ICreateServiceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1.IService, + | protos.google.cloud.servicedirectory.v1.ICreateServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IService, + protos.google.cloud.servicedirectory.v1.ICreateServiceRequest | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('createService request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.ICreateServiceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1.IService, + | protos.google.cloud.servicedirectory.v1.ICreateServiceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('createService response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.createService(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.ICreateServiceRequest|undefined, - {}|undefined - ]) => { - this._log.info('createService response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .createService(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1.IService, + ( + | protos.google.cloud.servicedirectory.v1.ICreateServiceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('createService response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Gets a service. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the service to get. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Service|Service}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.get_service.js - * region_tag:servicedirectory_v1_generated_RegistrationService_GetService_async - */ + /** + * Gets a service. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the service to get. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Service|Service}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.get_service.js + * region_tag:servicedirectory_v1_generated_RegistrationService_GetService_async + */ getService( - request?: protos.google.cloud.servicedirectory.v1.IGetServiceRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.IGetServiceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1.IGetServiceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IService, + protos.google.cloud.servicedirectory.v1.IGetServiceRequest | undefined, + {} | undefined, + ] + >; getService( - request: protos.google.cloud.servicedirectory.v1.IGetServiceRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.IGetServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IGetServiceRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1.IService, + | protos.google.cloud.servicedirectory.v1.IGetServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getService( - request: protos.google.cloud.servicedirectory.v1.IGetServiceRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.IGetServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IGetServiceRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1.IService, + | protos.google.cloud.servicedirectory.v1.IGetServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getService( - request?: protos.google.cloud.servicedirectory.v1.IGetServiceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.IGetServiceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1.IGetServiceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.IGetServiceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.IGetServiceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1.IGetServiceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1.IService, + | protos.google.cloud.servicedirectory.v1.IGetServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IService, + protos.google.cloud.servicedirectory.v1.IGetServiceRequest | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getService request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.IGetServiceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1.IService, + | protos.google.cloud.servicedirectory.v1.IGetServiceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getService response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getService(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.IGetServiceRequest|undefined, - {}|undefined - ]) => { - this._log.info('getService response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getService(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1.IService, + ( + | protos.google.cloud.servicedirectory.v1.IGetServiceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getService response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Updates a service. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.servicedirectory.v1.Service} request.service - * Required. The updated service. - * @param {google.protobuf.FieldMask} request.updateMask - * Required. List of fields to be updated in this request. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Service|Service}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.update_service.js - * region_tag:servicedirectory_v1_generated_RegistrationService_UpdateService_async - */ + /** + * Updates a service. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.servicedirectory.v1.Service} request.service + * Required. The updated service. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. List of fields to be updated in this request. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Service|Service}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.update_service.js + * region_tag:servicedirectory_v1_generated_RegistrationService_UpdateService_async + */ updateService( - request?: protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IService, + protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest | undefined, + {} | undefined, + ] + >; updateService( - request: protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1.IService, + | protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; updateService( - request: protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1.IService, + | protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; updateService( - request?: protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1.IService, + | protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IService, + protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'service.name': request.service!.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + 'service.name': request.service!.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('updateService request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1.IService, + | protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('updateService response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.updateService(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1.IService, - protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest|undefined, - {}|undefined - ]) => { - this._log.info('updateService response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .updateService(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1.IService, + ( + | protos.google.cloud.servicedirectory.v1.IUpdateServiceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('updateService response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Deletes a service. This also deletes all endpoints associated with - * the service. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the service to delete. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.delete_service.js - * region_tag:servicedirectory_v1_generated_RegistrationService_DeleteService_async - */ + /** + * Deletes a service. This also deletes all endpoints associated with + * the service. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the service to delete. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.delete_service.js + * region_tag:servicedirectory_v1_generated_RegistrationService_DeleteService_async + */ deleteService( - request?: protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest, - options?: CallOptions): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.protobuf.IEmpty, + protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest | undefined, + {} | undefined, + ] + >; deleteService( - request: protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest, - options: CallOptions, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; deleteService( - request: protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; deleteService( - request?: protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.protobuf.IEmpty, + protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('deleteService request %j', request); - const wrappedCallback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('deleteService response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.deleteService(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest|undefined, - {}|undefined - ]) => { - this._log.info('deleteService response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .deleteService(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.servicedirectory.v1.IDeleteServiceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('deleteService response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Creates an endpoint, and returns the new endpoint. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the service that this endpoint provides. - * @param {string} request.endpointId - * Required. The Resource ID must be 1-63 characters long, and comply with - * RFC1035. - * Specifically, the name must be 1-63 characters long and match the regular - * expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first - * character must be a lowercase letter, and all following characters must - * be a dash, lowercase letter, or digit, except the last character, which - * cannot be a dash. - * @param {google.cloud.servicedirectory.v1.Endpoint} request.endpoint - * Required. A endpoint with initial fields set. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Endpoint|Endpoint}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.create_endpoint.js - * region_tag:servicedirectory_v1_generated_RegistrationService_CreateEndpoint_async - */ + /** + * Creates an endpoint, and returns the new endpoint. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the service that this endpoint provides. + * @param {string} request.endpointId + * Required. The Resource ID must be 1-63 characters long, and comply with + * RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first + * character must be a lowercase letter, and all following characters must + * be a dash, lowercase letter, or digit, except the last character, which + * cannot be a dash. + * @param {google.cloud.servicedirectory.v1.Endpoint} request.endpoint + * Required. A endpoint with initial fields set. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Endpoint|Endpoint}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.create_endpoint.js + * region_tag:servicedirectory_v1_generated_RegistrationService_CreateEndpoint_async + */ createEndpoint( - request?: protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IEndpoint, + ( + | protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest + | undefined + ), + {} | undefined, + ] + >; createEndpoint( - request: protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1.IEndpoint, + | protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): void; createEndpoint( - request: protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1.IEndpoint, + | protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): void; createEndpoint( - request?: protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1.IEndpoint, + | protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IEndpoint, + ( + | protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('createEndpoint request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1.IEndpoint, + | protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('createEndpoint response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.createEndpoint(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest|undefined, - {}|undefined - ]) => { - this._log.info('createEndpoint response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .createEndpoint(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1.IEndpoint, + ( + | protos.google.cloud.servicedirectory.v1.ICreateEndpointRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('createEndpoint response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Gets an endpoint. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the endpoint to get. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Endpoint|Endpoint}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.get_endpoint.js - * region_tag:servicedirectory_v1_generated_RegistrationService_GetEndpoint_async - */ + /** + * Gets an endpoint. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the endpoint to get. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Endpoint|Endpoint}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.get_endpoint.js + * region_tag:servicedirectory_v1_generated_RegistrationService_GetEndpoint_async + */ getEndpoint( - request?: protos.google.cloud.servicedirectory.v1.IGetEndpointRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.IGetEndpointRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1.IGetEndpointRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IEndpoint, + protos.google.cloud.servicedirectory.v1.IGetEndpointRequest | undefined, + {} | undefined, + ] + >; getEndpoint( - request: protos.google.cloud.servicedirectory.v1.IGetEndpointRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.IGetEndpointRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IGetEndpointRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1.IEndpoint, + | protos.google.cloud.servicedirectory.v1.IGetEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getEndpoint( - request: protos.google.cloud.servicedirectory.v1.IGetEndpointRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.IGetEndpointRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IGetEndpointRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1.IEndpoint, + | protos.google.cloud.servicedirectory.v1.IGetEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getEndpoint( - request?: protos.google.cloud.servicedirectory.v1.IGetEndpointRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.IGetEndpointRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1.IGetEndpointRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.IGetEndpointRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.IGetEndpointRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1.IGetEndpointRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1.IEndpoint, + | protos.google.cloud.servicedirectory.v1.IGetEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IEndpoint, + protos.google.cloud.servicedirectory.v1.IGetEndpointRequest | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getEndpoint request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.IGetEndpointRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1.IEndpoint, + | protos.google.cloud.servicedirectory.v1.IGetEndpointRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getEndpoint response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getEndpoint(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.IGetEndpointRequest|undefined, - {}|undefined - ]) => { - this._log.info('getEndpoint response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getEndpoint(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1.IEndpoint, + ( + | protos.google.cloud.servicedirectory.v1.IGetEndpointRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getEndpoint response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Updates an endpoint. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.servicedirectory.v1.Endpoint} request.endpoint - * Required. The updated endpoint. - * @param {google.protobuf.FieldMask} request.updateMask - * Required. List of fields to be updated in this request. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Endpoint|Endpoint}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.update_endpoint.js - * region_tag:servicedirectory_v1_generated_RegistrationService_UpdateEndpoint_async - */ + /** + * Updates an endpoint. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.servicedirectory.v1.Endpoint} request.endpoint + * Required. The updated endpoint. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. List of fields to be updated in this request. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1.Endpoint|Endpoint}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.update_endpoint.js + * region_tag:servicedirectory_v1_generated_RegistrationService_UpdateEndpoint_async + */ updateEndpoint( - request?: protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IEndpoint, + ( + | protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest + | undefined + ), + {} | undefined, + ] + >; updateEndpoint( - request: protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1.IEndpoint, + | protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): void; updateEndpoint( - request: protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1.IEndpoint, + | protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): void; updateEndpoint( - request?: protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1.IEndpoint, + | protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IEndpoint, + ( + | protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'endpoint.name': request.endpoint!.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + 'endpoint.name': request.endpoint!.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('updateEndpoint request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1.IEndpoint, + | protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('updateEndpoint response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.updateEndpoint(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1.IEndpoint, - protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest|undefined, - {}|undefined - ]) => { - this._log.info('updateEndpoint response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .updateEndpoint(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1.IEndpoint, + ( + | protos.google.cloud.servicedirectory.v1.IUpdateEndpointRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('updateEndpoint response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Deletes an endpoint. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the endpoint to delete. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.delete_endpoint.js - * region_tag:servicedirectory_v1_generated_RegistrationService_DeleteEndpoint_async - */ + /** + * Deletes an endpoint. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the endpoint to delete. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.delete_endpoint.js + * region_tag:servicedirectory_v1_generated_RegistrationService_DeleteEndpoint_async + */ deleteEndpoint( - request?: protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest, - options?: CallOptions): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest + | undefined + ), + {} | undefined, + ] + >; deleteEndpoint( - request: protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest, - options: CallOptions, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): void; deleteEndpoint( - request: protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): void; deleteEndpoint( - request?: protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('deleteEndpoint request %j', request); - const wrappedCallback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('deleteEndpoint response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.deleteEndpoint(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest|undefined, - {}|undefined - ]) => { - this._log.info('deleteEndpoint response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .deleteEndpoint(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.servicedirectory.v1.IDeleteEndpointRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('deleteEndpoint response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Gets the IAM Policy for a resource (namespace or service only). - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy is being requested. - * See the operation documentation for the appropriate value for this field. - * @param {google.iam.v1.GetPolicyOptions} request.options - * OPTIONAL: A `GetPolicyOptions` object for specifying options to - * `GetIamPolicy`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.get_iam_policy.js - * region_tag:servicedirectory_v1_generated_RegistrationService_GetIamPolicy_async - */ + /** + * Gets the IAM Policy for a resource (namespace or service only). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy is being requested. + * See the operation documentation for the appropriate value for this field. + * @param {google.iam.v1.GetPolicyOptions} request.options + * OPTIONAL: A `GetPolicyOptions` object for specifying options to + * `GetIamPolicy`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.get_iam_policy.js + * region_tag:servicedirectory_v1_generated_RegistrationService_GetIamPolicy_async + */ getIamPolicy( - request?: protos.google.iam.v1.IGetIamPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined - ]>; + request?: protos.google.iam.v1.IGetIamPolicyRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | undefined, + {} | undefined, + ] + >; getIamPolicy( - request: protos.google.iam.v1.IGetIamPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.iam.v1.IGetIamPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + ): void; getIamPolicy( - request: protos.google.iam.v1.IGetIamPolicyRequest, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.iam.v1.IGetIamPolicyRequest, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + ): void; getIamPolicy( - request?: protos.google.iam.v1.IGetIamPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.iam.v1.IGetIamPolicyRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined - ]>|void { + protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + resource: request.resource ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getIamPolicy request %j', request); - const wrappedCallback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getIamPolicy response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getIamPolicy(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|undefined, - {}|undefined - ]) => { - this._log.info('getIamPolicy response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getIamPolicy(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | undefined, + {} | undefined, + ]) => { + this._log.info('getIamPolicy response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Sets the IAM Policy for a resource (namespace or service only). - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy is being specified. - * See the operation documentation for the appropriate value for this field. - * @param {google.iam.v1.Policy} request.policy - * REQUIRED: The complete policy to be applied to the `resource`. The size of - * the policy is limited to a few 10s of KB. An empty policy is a - * valid policy but certain Cloud Platform services (such as Projects) - * might reject them. - * @param {google.protobuf.FieldMask} request.updateMask - * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only - * the fields in the mask will be modified. If no mask is provided, the - * following default mask is used: - * - * `paths: "bindings, etag"` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.set_iam_policy.js - * region_tag:servicedirectory_v1_generated_RegistrationService_SetIamPolicy_async - */ + /** + * Sets the IAM Policy for a resource (namespace or service only). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy is being specified. + * See the operation documentation for the appropriate value for this field. + * @param {google.iam.v1.Policy} request.policy + * REQUIRED: The complete policy to be applied to the `resource`. The size of + * the policy is limited to a few 10s of KB. An empty policy is a + * valid policy but certain Cloud Platform services (such as Projects) + * might reject them. + * @param {google.protobuf.FieldMask} request.updateMask + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only + * the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: + * + * `paths: "bindings, etag"` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.set_iam_policy.js + * region_tag:servicedirectory_v1_generated_RegistrationService_SetIamPolicy_async + */ setIamPolicy( - request?: protos.google.iam.v1.ISetIamPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined - ]>; + request?: protos.google.iam.v1.ISetIamPolicyRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | undefined, + {} | undefined, + ] + >; setIamPolicy( - request: protos.google.iam.v1.ISetIamPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.iam.v1.ISetIamPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + ): void; setIamPolicy( - request: protos.google.iam.v1.ISetIamPolicyRequest, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.iam.v1.ISetIamPolicyRequest, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + ): void; setIamPolicy( - request?: protos.google.iam.v1.ISetIamPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.iam.v1.ISetIamPolicyRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined - ]>|void { + protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + resource: request.resource ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('setIamPolicy request %j', request); - const wrappedCallback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('setIamPolicy response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.setIamPolicy(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|undefined, - {}|undefined - ]) => { - this._log.info('setIamPolicy response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .setIamPolicy(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | undefined, + {} | undefined, + ]) => { + this._log.info('setIamPolicy response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Tests IAM permissions for a resource (namespace or service only). - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy detail is being requested. - * See the operation documentation for the appropriate value for this field. - * @param {string[]} request.permissions - * The set of permissions to check for the `resource`. Permissions with - * wildcards (such as '*' or 'storage.*') are not allowed. For more - * information see - * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.iam.v1.TestIamPermissionsResponse|TestIamPermissionsResponse}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.test_iam_permissions.js - * region_tag:servicedirectory_v1_generated_RegistrationService_TestIamPermissions_async - */ + /** + * Tests IAM permissions for a resource (namespace or service only). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + * @param {string[]} request.permissions + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. For more + * information see + * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.iam.v1.TestIamPermissionsResponse|TestIamPermissionsResponse}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.test_iam_permissions.js + * region_tag:servicedirectory_v1_generated_RegistrationService_TestIamPermissions_async + */ testIamPermissions( - request?: protos.google.iam.v1.ITestIamPermissionsRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined - ]>; + request?: protos.google.iam.v1.ITestIamPermissionsRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | undefined, + {} | undefined, + ] + >; testIamPermissions( - request: protos.google.iam.v1.ITestIamPermissionsRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.iam.v1.ITestIamPermissionsRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, + {} | null | undefined + >, + ): void; testIamPermissions( - request: protos.google.iam.v1.ITestIamPermissionsRequest, - callback: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.iam.v1.ITestIamPermissionsRequest, + callback: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, + {} | null | undefined + >, + ): void; testIamPermissions( - request?: protos.google.iam.v1.ITestIamPermissionsRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.iam.v1.ITestIamPermissionsRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined - ]>|void { + protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + resource: request.resource ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('testIamPermissions request %j', request); - const wrappedCallback: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('testIamPermissions response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.testIamPermissions(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|undefined, - {}|undefined - ]) => { - this._log.info('testIamPermissions response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .testIamPermissions(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | undefined, + {} | undefined, + ]) => { + this._log.info('testIamPermissions response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } - /** - * Lists all namespaces. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the project and location whose namespaces - * you'd like to list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name` or `labels.` for map field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `labels.owner` returns namespaces that have a label with the key - * `owner`, this is the same as `labels:owner` - * * `labels.owner=sd` returns namespaces that have key/value - * `owner=sd` - * * `name>projects/my-project/locations/us-east1/namespaces/namespace-c` - * returns namespaces that have name that is alphabetically later than the - * string, so "namespace-e" is returned but "namespace-a" is not - * * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have - * `owner` in label key but value is not `sd` AND have key/value `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that namespace - * doesn't have a field called "doesnotexist". Since the filter does not - * match any namespaces, it returns no results - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows value: `name` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of {@link protos.google.cloud.servicedirectory.v1.Namespace|Namespace}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listNamespacesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Lists all namespaces. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the project and location whose namespaces + * you'd like to list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name` or `labels.` for map field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `labels.owner` returns namespaces that have a label with the key + * `owner`, this is the same as `labels:owner` + * * `labels.owner=sd` returns namespaces that have key/value + * `owner=sd` + * * `name>projects/my-project/locations/us-east1/namespaces/namespace-c` + * returns namespaces that have name that is alphabetically later than the + * string, so "namespace-e" is returned but "namespace-a" is not + * * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have + * `owner` in label key but value is not `sd` AND have key/value `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that namespace + * doesn't have a field called "doesnotexist". Since the filter does not + * match any namespaces, it returns no results + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows value: `name` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of {@link protos.google.cloud.servicedirectory.v1.Namespace|Namespace}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listNamespacesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listNamespaces( - request?: protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1.INamespace[], - protos.google.cloud.servicedirectory.v1.IListNamespacesRequest|null, - protos.google.cloud.servicedirectory.v1.IListNamespacesResponse - ]>; + request?: protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.INamespace[], + protos.google.cloud.servicedirectory.v1.IListNamespacesRequest | null, + protos.google.cloud.servicedirectory.v1.IListNamespacesResponse, + ] + >; listNamespaces( - request: protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, - protos.google.cloud.servicedirectory.v1.IListNamespacesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1.INamespace>): void; + request: protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, + | protos.google.cloud.servicedirectory.v1.IListNamespacesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1.INamespace + >, + ): void; listNamespaces( - request: protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, - callback: PaginationCallback< - protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, - protos.google.cloud.servicedirectory.v1.IListNamespacesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1.INamespace>): void; + request: protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, + callback: PaginationCallback< + protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, + | protos.google.cloud.servicedirectory.v1.IListNamespacesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1.INamespace + >, + ): void; listNamespaces( - request?: protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, - protos.google.cloud.servicedirectory.v1.IListNamespacesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1.INamespace>, - callback?: PaginationCallback< + request?: protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, - protos.google.cloud.servicedirectory.v1.IListNamespacesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1.INamespace>): - Promise<[ - protos.google.cloud.servicedirectory.v1.INamespace[], - protos.google.cloud.servicedirectory.v1.IListNamespacesRequest|null, - protos.google.cloud.servicedirectory.v1.IListNamespacesResponse - ]>|void { + | protos.google.cloud.servicedirectory.v1.IListNamespacesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1.INamespace + >, + callback?: PaginationCallback< + protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, + | protos.google.cloud.servicedirectory.v1.IListNamespacesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1.INamespace + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.INamespace[], + protos.google.cloud.servicedirectory.v1.IListNamespacesRequest | null, + protos.google.cloud.servicedirectory.v1.IListNamespacesResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, - protos.google.cloud.servicedirectory.v1.IListNamespacesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1.INamespace>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, + | protos.google.cloud.servicedirectory.v1.IListNamespacesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1.INamespace + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listNamespaces values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -1972,317 +2711,346 @@ export class RegistrationServiceClient { this._log.info('listNamespaces request %j', request); return this.innerApiCalls .listNamespaces(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.servicedirectory.v1.INamespace[], - protos.google.cloud.servicedirectory.v1.IListNamespacesRequest|null, - protos.google.cloud.servicedirectory.v1.IListNamespacesResponse - ]) => { - this._log.info('listNamespaces values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.servicedirectory.v1.INamespace[], + protos.google.cloud.servicedirectory.v1.IListNamespacesRequest | null, + protos.google.cloud.servicedirectory.v1.IListNamespacesResponse, + ]) => { + this._log.info('listNamespaces values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listNamespaces`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the project and location whose namespaces - * you'd like to list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name` or `labels.` for map field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `labels.owner` returns namespaces that have a label with the key - * `owner`, this is the same as `labels:owner` - * * `labels.owner=sd` returns namespaces that have key/value - * `owner=sd` - * * `name>projects/my-project/locations/us-east1/namespaces/namespace-c` - * returns namespaces that have name that is alphabetically later than the - * string, so "namespace-e" is returned but "namespace-a" is not - * * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have - * `owner` in label key but value is not `sd` AND have key/value `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that namespace - * doesn't have a field called "doesnotexist". Since the filter does not - * match any namespaces, it returns no results - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows value: `name` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Stream} - * An object stream which emits an object representing {@link protos.google.cloud.servicedirectory.v1.Namespace|Namespace} on 'data' event. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed. Note that it can affect your quota. - * We recommend using `listNamespacesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listNamespaces`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the project and location whose namespaces + * you'd like to list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name` or `labels.` for map field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `labels.owner` returns namespaces that have a label with the key + * `owner`, this is the same as `labels:owner` + * * `labels.owner=sd` returns namespaces that have key/value + * `owner=sd` + * * `name>projects/my-project/locations/us-east1/namespaces/namespace-c` + * returns namespaces that have name that is alphabetically later than the + * string, so "namespace-e" is returned but "namespace-a" is not + * * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have + * `owner` in label key but value is not `sd` AND have key/value `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that namespace + * doesn't have a field called "doesnotexist". Since the filter does not + * match any namespaces, it returns no results + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows value: `name` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing {@link protos.google.cloud.servicedirectory.v1.Namespace|Namespace} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listNamespacesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listNamespacesStream( - request?: protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listNamespaces']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listNamespaces stream %j', request); return this.descriptors.page.listNamespaces.createStream( this.innerApiCalls.listNamespaces as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listNamespaces`, but returns an iterable object. - * - * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the project and location whose namespaces - * you'd like to list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name` or `labels.` for map field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `labels.owner` returns namespaces that have a label with the key - * `owner`, this is the same as `labels:owner` - * * `labels.owner=sd` returns namespaces that have key/value - * `owner=sd` - * * `name>projects/my-project/locations/us-east1/namespaces/namespace-c` - * returns namespaces that have name that is alphabetically later than the - * string, so "namespace-e" is returned but "namespace-a" is not - * * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have - * `owner` in label key but value is not `sd` AND have key/value `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that namespace - * doesn't have a field called "doesnotexist". Since the filter does not - * match any namespaces, it returns no results - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows value: `name` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Object} - * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.servicedirectory.v1.Namespace|Namespace}. The API will be called under the hood as needed, once per the page, - * so you can stop the iteration when you don't need more results. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.list_namespaces.js - * region_tag:servicedirectory_v1_generated_RegistrationService_ListNamespaces_async - */ + /** + * Equivalent to `listNamespaces`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the project and location whose namespaces + * you'd like to list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name` or `labels.` for map field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `labels.owner` returns namespaces that have a label with the key + * `owner`, this is the same as `labels:owner` + * * `labels.owner=sd` returns namespaces that have key/value + * `owner=sd` + * * `name>projects/my-project/locations/us-east1/namespaces/namespace-c` + * returns namespaces that have name that is alphabetically later than the + * string, so "namespace-e" is returned but "namespace-a" is not + * * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have + * `owner` in label key but value is not `sd` AND have key/value `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that namespace + * doesn't have a field called "doesnotexist". Since the filter does not + * match any namespaces, it returns no results + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows value: `name` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.servicedirectory.v1.Namespace|Namespace}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.list_namespaces.js + * region_tag:servicedirectory_v1_generated_RegistrationService_ListNamespaces_async + */ listNamespacesAsync( - request?: protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.servicedirectory.v1.IListNamespacesRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listNamespaces']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listNamespaces iterate %j', request); return this.descriptors.page.listNamespaces.asyncIterate( this.innerApiCalls['listNamespaces'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } - /** - * Lists all services belonging to a namespace. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the namespace whose services you'd - * like to list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name` or `annotations.` for map field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `annotations.owner` returns services that have a annotation with the - * key `owner`, this is the same as `annotations:owner` - * * `annotations.protocol=gRPC` returns services that have key/value - * `protocol=gRPC` - * * - * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c` - * returns services that have name that is alphabetically later than the - * string, so "service-e" is returned but "service-a" is not - * * `annotations.owner!=sd AND annotations.foo=bar` returns services that - * have `owner` in annotation key but value is not `sd` AND have - * key/value `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that service - * doesn't have a field called "doesnotexist". Since the filter does not - * match any services, it returns no results - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows value: `name` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of {@link protos.google.cloud.servicedirectory.v1.Service|Service}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listServicesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Lists all services belonging to a namespace. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the namespace whose services you'd + * like to list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name` or `annotations.` for map field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `annotations.owner` returns services that have a annotation with the + * key `owner`, this is the same as `annotations:owner` + * * `annotations.protocol=gRPC` returns services that have key/value + * `protocol=gRPC` + * * + * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c` + * returns services that have name that is alphabetically later than the + * string, so "service-e" is returned but "service-a" is not + * * `annotations.owner!=sd AND annotations.foo=bar` returns services that + * have `owner` in annotation key but value is not `sd` AND have + * key/value `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that service + * doesn't have a field called "doesnotexist". Since the filter does not + * match any services, it returns no results + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows value: `name` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of {@link protos.google.cloud.servicedirectory.v1.Service|Service}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listServicesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listServices( - request?: protos.google.cloud.servicedirectory.v1.IListServicesRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1.IService[], - protos.google.cloud.servicedirectory.v1.IListServicesRequest|null, - protos.google.cloud.servicedirectory.v1.IListServicesResponse - ]>; + request?: protos.google.cloud.servicedirectory.v1.IListServicesRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IService[], + protos.google.cloud.servicedirectory.v1.IListServicesRequest | null, + protos.google.cloud.servicedirectory.v1.IListServicesResponse, + ] + >; listServices( - request: protos.google.cloud.servicedirectory.v1.IListServicesRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.servicedirectory.v1.IListServicesRequest, - protos.google.cloud.servicedirectory.v1.IListServicesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1.IService>): void; + request: protos.google.cloud.servicedirectory.v1.IListServicesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.servicedirectory.v1.IListServicesRequest, + | protos.google.cloud.servicedirectory.v1.IListServicesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1.IService + >, + ): void; listServices( - request: protos.google.cloud.servicedirectory.v1.IListServicesRequest, - callback: PaginationCallback< - protos.google.cloud.servicedirectory.v1.IListServicesRequest, - protos.google.cloud.servicedirectory.v1.IListServicesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1.IService>): void; + request: protos.google.cloud.servicedirectory.v1.IListServicesRequest, + callback: PaginationCallback< + protos.google.cloud.servicedirectory.v1.IListServicesRequest, + | protos.google.cloud.servicedirectory.v1.IListServicesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1.IService + >, + ): void; listServices( - request?: protos.google.cloud.servicedirectory.v1.IListServicesRequest, - optionsOrCallback?: CallOptions|PaginationCallback< + request?: protos.google.cloud.servicedirectory.v1.IListServicesRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.servicedirectory.v1.IListServicesRequest, - protos.google.cloud.servicedirectory.v1.IListServicesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1.IService>, - callback?: PaginationCallback< - protos.google.cloud.servicedirectory.v1.IListServicesRequest, - protos.google.cloud.servicedirectory.v1.IListServicesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1.IService>): - Promise<[ - protos.google.cloud.servicedirectory.v1.IService[], - protos.google.cloud.servicedirectory.v1.IListServicesRequest|null, - protos.google.cloud.servicedirectory.v1.IListServicesResponse - ]>|void { + | protos.google.cloud.servicedirectory.v1.IListServicesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1.IService + >, + callback?: PaginationCallback< + protos.google.cloud.servicedirectory.v1.IListServicesRequest, + | protos.google.cloud.servicedirectory.v1.IListServicesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1.IService + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IService[], + protos.google.cloud.servicedirectory.v1.IListServicesRequest | null, + protos.google.cloud.servicedirectory.v1.IListServicesResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.servicedirectory.v1.IListServicesRequest, - protos.google.cloud.servicedirectory.v1.IListServicesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1.IService>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.servicedirectory.v1.IListServicesRequest, + | protos.google.cloud.servicedirectory.v1.IListServicesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1.IService + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listServices values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -2291,324 +3059,353 @@ export class RegistrationServiceClient { this._log.info('listServices request %j', request); return this.innerApiCalls .listServices(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.servicedirectory.v1.IService[], - protos.google.cloud.servicedirectory.v1.IListServicesRequest|null, - protos.google.cloud.servicedirectory.v1.IListServicesResponse - ]) => { - this._log.info('listServices values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.servicedirectory.v1.IService[], + protos.google.cloud.servicedirectory.v1.IListServicesRequest | null, + protos.google.cloud.servicedirectory.v1.IListServicesResponse, + ]) => { + this._log.info('listServices values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listServices`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the namespace whose services you'd - * like to list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name` or `annotations.` for map field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `annotations.owner` returns services that have a annotation with the - * key `owner`, this is the same as `annotations:owner` - * * `annotations.protocol=gRPC` returns services that have key/value - * `protocol=gRPC` - * * - * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c` - * returns services that have name that is alphabetically later than the - * string, so "service-e" is returned but "service-a" is not - * * `annotations.owner!=sd AND annotations.foo=bar` returns services that - * have `owner` in annotation key but value is not `sd` AND have - * key/value `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that service - * doesn't have a field called "doesnotexist". Since the filter does not - * match any services, it returns no results - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows value: `name` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Stream} - * An object stream which emits an object representing {@link protos.google.cloud.servicedirectory.v1.Service|Service} on 'data' event. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed. Note that it can affect your quota. - * We recommend using `listServicesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listServices`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the namespace whose services you'd + * like to list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name` or `annotations.` for map field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `annotations.owner` returns services that have a annotation with the + * key `owner`, this is the same as `annotations:owner` + * * `annotations.protocol=gRPC` returns services that have key/value + * `protocol=gRPC` + * * + * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c` + * returns services that have name that is alphabetically later than the + * string, so "service-e" is returned but "service-a" is not + * * `annotations.owner!=sd AND annotations.foo=bar` returns services that + * have `owner` in annotation key but value is not `sd` AND have + * key/value `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that service + * doesn't have a field called "doesnotexist". Since the filter does not + * match any services, it returns no results + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows value: `name` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing {@link protos.google.cloud.servicedirectory.v1.Service|Service} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listServicesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listServicesStream( - request?: protos.google.cloud.servicedirectory.v1.IListServicesRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.servicedirectory.v1.IListServicesRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listServices']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listServices stream %j', request); return this.descriptors.page.listServices.createStream( this.innerApiCalls.listServices as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listServices`, but returns an iterable object. - * - * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the namespace whose services you'd - * like to list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name` or `annotations.` for map field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `annotations.owner` returns services that have a annotation with the - * key `owner`, this is the same as `annotations:owner` - * * `annotations.protocol=gRPC` returns services that have key/value - * `protocol=gRPC` - * * - * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c` - * returns services that have name that is alphabetically later than the - * string, so "service-e" is returned but "service-a" is not - * * `annotations.owner!=sd AND annotations.foo=bar` returns services that - * have `owner` in annotation key but value is not `sd` AND have - * key/value `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that service - * doesn't have a field called "doesnotexist". Since the filter does not - * match any services, it returns no results - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows value: `name` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Object} - * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.servicedirectory.v1.Service|Service}. The API will be called under the hood as needed, once per the page, - * so you can stop the iteration when you don't need more results. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.list_services.js - * region_tag:servicedirectory_v1_generated_RegistrationService_ListServices_async - */ + /** + * Equivalent to `listServices`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the namespace whose services you'd + * like to list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name` or `annotations.` for map field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `annotations.owner` returns services that have a annotation with the + * key `owner`, this is the same as `annotations:owner` + * * `annotations.protocol=gRPC` returns services that have key/value + * `protocol=gRPC` + * * + * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c` + * returns services that have name that is alphabetically later than the + * string, so "service-e" is returned but "service-a" is not + * * `annotations.owner!=sd AND annotations.foo=bar` returns services that + * have `owner` in annotation key but value is not `sd` AND have + * key/value `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that service + * doesn't have a field called "doesnotexist". Since the filter does not + * match any services, it returns no results + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows value: `name` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.servicedirectory.v1.Service|Service}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.list_services.js + * region_tag:servicedirectory_v1_generated_RegistrationService_ListServices_async + */ listServicesAsync( - request?: protos.google.cloud.servicedirectory.v1.IListServicesRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.servicedirectory.v1.IListServicesRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listServices']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listServices iterate %j', request); return this.descriptors.page.listServices.asyncIterate( this.innerApiCalls['listServices'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } - /** - * Lists all endpoints. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the service whose endpoints you'd like to - * list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name`, `address`, `port`, or `annotations.` for - * map field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `annotations.owner` returns endpoints that have a annotation with the - * key `owner`, this is the same as `annotations:owner` - * * `annotations.protocol=gRPC` returns endpoints that have key/value - * `protocol=gRPC` - * * `address=192.108.1.105` returns endpoints that have this address - * * `port>8080` returns endpoints that have port number larger than 8080 - * * - * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` - * returns endpoints that have name that is alphabetically later than the - * string, so "endpoint-e" is returned but "endpoint-a" is not - * * `annotations.owner!=sd AND annotations.foo=bar` returns endpoints that - * have `owner` in annotation key but value is not `sd` AND have - * key/value `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that endpoint - * doesn't have a field called "doesnotexist". Since the filter does not - * match any endpoints, it returns no results - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows values: `name`, `address`, `port` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of {@link protos.google.cloud.servicedirectory.v1.Endpoint|Endpoint}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listEndpointsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Lists all endpoints. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the service whose endpoints you'd like to + * list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name`, `address`, `port`, or `annotations.` for + * map field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `annotations.owner` returns endpoints that have a annotation with the + * key `owner`, this is the same as `annotations:owner` + * * `annotations.protocol=gRPC` returns endpoints that have key/value + * `protocol=gRPC` + * * `address=192.108.1.105` returns endpoints that have this address + * * `port>8080` returns endpoints that have port number larger than 8080 + * * + * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` + * returns endpoints that have name that is alphabetically later than the + * string, so "endpoint-e" is returned but "endpoint-a" is not + * * `annotations.owner!=sd AND annotations.foo=bar` returns endpoints that + * have `owner` in annotation key but value is not `sd` AND have + * key/value `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that endpoint + * doesn't have a field called "doesnotexist". Since the filter does not + * match any endpoints, it returns no results + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows values: `name`, `address`, `port` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of {@link protos.google.cloud.servicedirectory.v1.Endpoint|Endpoint}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listEndpointsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listEndpoints( - request?: protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1.IEndpoint[], - protos.google.cloud.servicedirectory.v1.IListEndpointsRequest|null, - protos.google.cloud.servicedirectory.v1.IListEndpointsResponse - ]>; + request?: protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IEndpoint[], + protos.google.cloud.servicedirectory.v1.IListEndpointsRequest | null, + protos.google.cloud.servicedirectory.v1.IListEndpointsResponse, + ] + >; listEndpoints( - request: protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, - protos.google.cloud.servicedirectory.v1.IListEndpointsResponse|null|undefined, - protos.google.cloud.servicedirectory.v1.IEndpoint>): void; + request: protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, + | protos.google.cloud.servicedirectory.v1.IListEndpointsResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1.IEndpoint + >, + ): void; listEndpoints( - request: protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, - callback: PaginationCallback< - protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, - protos.google.cloud.servicedirectory.v1.IListEndpointsResponse|null|undefined, - protos.google.cloud.servicedirectory.v1.IEndpoint>): void; + request: protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, + callback: PaginationCallback< + protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, + | protos.google.cloud.servicedirectory.v1.IListEndpointsResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1.IEndpoint + >, + ): void; listEndpoints( - request?: protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, - optionsOrCallback?: CallOptions|PaginationCallback< + request?: protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, - protos.google.cloud.servicedirectory.v1.IListEndpointsResponse|null|undefined, - protos.google.cloud.servicedirectory.v1.IEndpoint>, - callback?: PaginationCallback< - protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, - protos.google.cloud.servicedirectory.v1.IListEndpointsResponse|null|undefined, - protos.google.cloud.servicedirectory.v1.IEndpoint>): - Promise<[ - protos.google.cloud.servicedirectory.v1.IEndpoint[], - protos.google.cloud.servicedirectory.v1.IListEndpointsRequest|null, - protos.google.cloud.servicedirectory.v1.IListEndpointsResponse - ]>|void { + | protos.google.cloud.servicedirectory.v1.IListEndpointsResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1.IEndpoint + >, + callback?: PaginationCallback< + protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, + | protos.google.cloud.servicedirectory.v1.IListEndpointsResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1.IEndpoint + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1.IEndpoint[], + protos.google.cloud.servicedirectory.v1.IListEndpointsRequest | null, + protos.google.cloud.servicedirectory.v1.IListEndpointsResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, - protos.google.cloud.servicedirectory.v1.IListEndpointsResponse|null|undefined, - protos.google.cloud.servicedirectory.v1.IEndpoint>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, + | protos.google.cloud.servicedirectory.v1.IListEndpointsResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1.IEndpoint + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listEndpoints values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -2617,203 +3414,208 @@ export class RegistrationServiceClient { this._log.info('listEndpoints request %j', request); return this.innerApiCalls .listEndpoints(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.servicedirectory.v1.IEndpoint[], - protos.google.cloud.servicedirectory.v1.IListEndpointsRequest|null, - protos.google.cloud.servicedirectory.v1.IListEndpointsResponse - ]) => { - this._log.info('listEndpoints values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.servicedirectory.v1.IEndpoint[], + protos.google.cloud.servicedirectory.v1.IListEndpointsRequest | null, + protos.google.cloud.servicedirectory.v1.IListEndpointsResponse, + ]) => { + this._log.info('listEndpoints values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listEndpoints`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the service whose endpoints you'd like to - * list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name`, `address`, `port`, or `annotations.` for - * map field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `annotations.owner` returns endpoints that have a annotation with the - * key `owner`, this is the same as `annotations:owner` - * * `annotations.protocol=gRPC` returns endpoints that have key/value - * `protocol=gRPC` - * * `address=192.108.1.105` returns endpoints that have this address - * * `port>8080` returns endpoints that have port number larger than 8080 - * * - * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` - * returns endpoints that have name that is alphabetically later than the - * string, so "endpoint-e" is returned but "endpoint-a" is not - * * `annotations.owner!=sd AND annotations.foo=bar` returns endpoints that - * have `owner` in annotation key but value is not `sd` AND have - * key/value `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that endpoint - * doesn't have a field called "doesnotexist". Since the filter does not - * match any endpoints, it returns no results - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows values: `name`, `address`, `port` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Stream} - * An object stream which emits an object representing {@link protos.google.cloud.servicedirectory.v1.Endpoint|Endpoint} on 'data' event. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed. Note that it can affect your quota. - * We recommend using `listEndpointsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listEndpoints`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the service whose endpoints you'd like to + * list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name`, `address`, `port`, or `annotations.` for + * map field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `annotations.owner` returns endpoints that have a annotation with the + * key `owner`, this is the same as `annotations:owner` + * * `annotations.protocol=gRPC` returns endpoints that have key/value + * `protocol=gRPC` + * * `address=192.108.1.105` returns endpoints that have this address + * * `port>8080` returns endpoints that have port number larger than 8080 + * * + * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` + * returns endpoints that have name that is alphabetically later than the + * string, so "endpoint-e" is returned but "endpoint-a" is not + * * `annotations.owner!=sd AND annotations.foo=bar` returns endpoints that + * have `owner` in annotation key but value is not `sd` AND have + * key/value `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that endpoint + * doesn't have a field called "doesnotexist". Since the filter does not + * match any endpoints, it returns no results + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows values: `name`, `address`, `port` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing {@link protos.google.cloud.servicedirectory.v1.Endpoint|Endpoint} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listEndpointsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listEndpointsStream( - request?: protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listEndpoints']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listEndpoints stream %j', request); return this.descriptors.page.listEndpoints.createStream( this.innerApiCalls.listEndpoints as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listEndpoints`, but returns an iterable object. - * - * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the service whose endpoints you'd like to - * list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name`, `address`, `port`, or `annotations.` for - * map field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `annotations.owner` returns endpoints that have a annotation with the - * key `owner`, this is the same as `annotations:owner` - * * `annotations.protocol=gRPC` returns endpoints that have key/value - * `protocol=gRPC` - * * `address=192.108.1.105` returns endpoints that have this address - * * `port>8080` returns endpoints that have port number larger than 8080 - * * - * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` - * returns endpoints that have name that is alphabetically later than the - * string, so "endpoint-e" is returned but "endpoint-a" is not - * * `annotations.owner!=sd AND annotations.foo=bar` returns endpoints that - * have `owner` in annotation key but value is not `sd` AND have - * key/value `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that endpoint - * doesn't have a field called "doesnotexist". Since the filter does not - * match any endpoints, it returns no results - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows values: `name`, `address`, `port` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Object} - * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.servicedirectory.v1.Endpoint|Endpoint}. The API will be called under the hood as needed, once per the page, - * so you can stop the iteration when you don't need more results. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1/registration_service.list_endpoints.js - * region_tag:servicedirectory_v1_generated_RegistrationService_ListEndpoints_async - */ + /** + * Equivalent to `listEndpoints`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the service whose endpoints you'd like to + * list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name`, `address`, `port`, or `annotations.` for + * map field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `annotations.owner` returns endpoints that have a annotation with the + * key `owner`, this is the same as `annotations:owner` + * * `annotations.protocol=gRPC` returns endpoints that have key/value + * `protocol=gRPC` + * * `address=192.108.1.105` returns endpoints that have this address + * * `port>8080` returns endpoints that have port number larger than 8080 + * * + * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` + * returns endpoints that have name that is alphabetically later than the + * string, so "endpoint-e" is returned but "endpoint-a" is not + * * `annotations.owner!=sd AND annotations.foo=bar` returns endpoints that + * have `owner` in annotation key but value is not `sd` AND have + * key/value `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that endpoint + * doesn't have a field called "doesnotexist". Since the filter does not + * match any endpoints, it returns no results + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows values: `name`, `address`, `port` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.servicedirectory.v1.Endpoint|Endpoint}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1/registration_service.list_endpoints.js + * region_tag:servicedirectory_v1_generated_RegistrationService_ListEndpoints_async + */ listEndpointsAsync( - request?: protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.servicedirectory.v1.IListEndpointsRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listEndpoints']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listEndpoints iterate %j', request); return this.descriptors.page.listEndpoints.asyncIterate( this.innerApiCalls['listEndpoints'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } -/** + + /** * Gets information about a location. * * @param {Object} request @@ -2848,12 +3650,11 @@ export class RegistrationServiceClient { | null | undefined, {} | null | undefined - > + >, ): Promise { return this.locationsClient.getLocation(request, options, callback); } - -/** + /** * Lists information about the supported locations for this service. Returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. @@ -2886,7 +3687,7 @@ export class RegistrationServiceClient { */ listLocationsAsync( request: LocationProtos.google.cloud.location.IListLocationsRequest, - options?: CallOptions + options?: CallOptions, ): AsyncIterable { return this.locationsClient.listLocationsAsync(request, options); } @@ -2905,7 +3706,13 @@ export class RegistrationServiceClient { * @param {string} endpoint * @returns {string} Resource name string. */ - endpointPath(project:string,location:string,namespace:string,service:string,endpoint:string) { + endpointPath( + project: string, + location: string, + namespace: string, + service: string, + endpoint: string, + ) { return this.pathTemplates.endpointPathTemplate.render({ project: project, location: location, @@ -2945,7 +3752,8 @@ export class RegistrationServiceClient { * @returns {string} A string representing the namespace. */ matchNamespaceFromEndpointName(endpointName: string) { - return this.pathTemplates.endpointPathTemplate.match(endpointName).namespace; + return this.pathTemplates.endpointPathTemplate.match(endpointName) + .namespace; } /** @@ -2977,7 +3785,7 @@ export class RegistrationServiceClient { * @param {string} location * @returns {string} Resource name string. */ - locationPath(project:string,location:string) { + locationPath(project: string, location: string) { return this.pathTemplates.locationPathTemplate.render({ project: project, location: location, @@ -3014,7 +3822,7 @@ export class RegistrationServiceClient { * @param {string} namespace * @returns {string} Resource name string. */ - namespacePath(project:string,location:string,namespace:string) { + namespacePath(project: string, location: string, namespace: string) { return this.pathTemplates.namespacePathTemplate.render({ project: project, location: location, @@ -3030,7 +3838,8 @@ export class RegistrationServiceClient { * @returns {string} A string representing the project. */ matchProjectFromNamespaceName(namespaceName: string) { - return this.pathTemplates.namespacePathTemplate.match(namespaceName).project; + return this.pathTemplates.namespacePathTemplate.match(namespaceName) + .project; } /** @@ -3041,7 +3850,8 @@ export class RegistrationServiceClient { * @returns {string} A string representing the location. */ matchLocationFromNamespaceName(namespaceName: string) { - return this.pathTemplates.namespacePathTemplate.match(namespaceName).location; + return this.pathTemplates.namespacePathTemplate.match(namespaceName) + .location; } /** @@ -3052,7 +3862,8 @@ export class RegistrationServiceClient { * @returns {string} A string representing the namespace. */ matchNamespaceFromNamespaceName(namespaceName: string) { - return this.pathTemplates.namespacePathTemplate.match(namespaceName).namespace; + return this.pathTemplates.namespacePathTemplate.match(namespaceName) + .namespace; } /** @@ -3064,7 +3875,12 @@ export class RegistrationServiceClient { * @param {string} service * @returns {string} Resource name string. */ - servicePath(project:string,location:string,namespace:string,service:string) { + servicePath( + project: string, + location: string, + namespace: string, + service: string, + ) { return this.pathTemplates.servicePathTemplate.render({ project: project, location: location, @@ -3125,13 +3941,15 @@ export class RegistrationServiceClient { */ close(): Promise { if (this.registrationServiceStub && !this._terminated) { - return this.registrationServiceStub.then(stub => { + return this.registrationServiceStub.then((stub) => { this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); - this.locationsClient.close().catch(err => {throw err}); + this.locationsClient.close().catch((err) => { + throw err; + }); }); } return Promise.resolve(); } -} \ No newline at end of file +} diff --git a/packages/google-cloud-servicedirectory/src/v1beta1/index.ts b/packages/google-cloud-servicedirectory/src/v1beta1/index.ts index e07a321f9339..0f60415e91f2 100644 --- a/packages/google-cloud-servicedirectory/src/v1beta1/index.ts +++ b/packages/google-cloud-servicedirectory/src/v1beta1/index.ts @@ -16,5 +16,5 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -export {LookupServiceClient} from './lookup_service_client'; -export {RegistrationServiceClient} from './registration_service_client'; +export { LookupServiceClient } from './lookup_service_client'; +export { RegistrationServiceClient } from './registration_service_client'; diff --git a/packages/google-cloud-servicedirectory/src/v1beta1/lookup_service_client.ts b/packages/google-cloud-servicedirectory/src/v1beta1/lookup_service_client.ts index f30013f859e0..68e7a5d7c4a1 100644 --- a/packages/google-cloud-servicedirectory/src/v1beta1/lookup_service_client.ts +++ b/packages/google-cloud-servicedirectory/src/v1beta1/lookup_service_client.ts @@ -18,11 +18,18 @@ /* global window */ import type * as gax from 'google-gax'; -import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax'; +import type { + Callback, + CallOptions, + Descriptors, + ClientOptions, + LocationsClient, + LocationProtos, +} from 'google-gax'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); -import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax'; +import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -44,7 +51,7 @@ export class LookupServiceClient { private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; + private _defaults: { [method: string]: gax.CallSettings }; private _universeDomain: string; private _servicePath: string; private _log = logging.log('service-directory'); @@ -57,10 +64,10 @@ export class LookupServiceClient { batching: {}, }; warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; + innerApiCalls: { [name: string]: Function }; locationsClient: LocationsClient; - pathTemplates: {[name: string]: gax.PathTemplate}; - lookupServiceStub?: Promise<{[name: string]: Function}>; + pathTemplates: { [name: string]: gax.PathTemplate }; + lookupServiceStub?: Promise<{ [name: string]: Function }>; /** * Construct an instance of LookupServiceClient. @@ -101,21 +108,42 @@ export class LookupServiceClient { * const client = new LookupServiceClient({fallback: true}, gax); * ``` */ - constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback, + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof LookupServiceClient; - if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) { - throw new Error('Please set either universe_domain or universeDomain, but not both.'); + if ( + opts?.universe_domain && + opts?.universeDomain && + opts?.universe_domain !== opts?.universeDomain + ) { + throw new Error( + 'Please set either universe_domain or universeDomain, but not both.', + ); } - const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined; - this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com'; + const universeDomainEnvVar = + typeof process === 'object' && typeof process.env === 'object' + ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] + : undefined; + this._universeDomain = + opts?.universeDomain ?? + opts?.universe_domain ?? + universeDomainEnvVar ?? + 'googleapis.com'; this._servicePath = 'servicedirectory.' + this._universeDomain; - const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const servicePath = + opts?.servicePath || opts?.apiEndpoint || this._servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); - opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts); // Request numeric enum values if REST transport is used. opts.numericEnums = true; @@ -140,7 +168,7 @@ export class LookupServiceClient { this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Set useJWTAccessWithScope on the auth object. this.auth.useJWTAccessWithScope = true; @@ -154,15 +182,11 @@ export class LookupServiceClient { } this.locationsClient = new this._gaxModule.LocationsClient( this._gaxGrpc, - opts + opts, ); - // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process === 'object' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { @@ -184,20 +208,23 @@ export class LookupServiceClient { // Create useful helper objects for these. this.pathTemplates = { endpointPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}/endpoints/{endpoint}' + 'projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}/endpoints/{endpoint}', ), namespacePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/namespaces/{namespace}' + 'projects/{project}/locations/{location}/namespaces/{namespace}', ), servicePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}' + 'projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}', ), }; // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.servicedirectory.v1beta1.LookupService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + 'google.cloud.servicedirectory.v1beta1.LookupService', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + { 'x-goog-api-client': clientHeader.join(' ') }, + ); // Set up a dictionary of "inner API calls"; the core implementation // of calling the API is handled in `google-gax`, with this code @@ -228,36 +255,41 @@ export class LookupServiceClient { // Put together the "service stub" for // google.cloud.servicedirectory.v1beta1.LookupService. this.lookupServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.servicedirectory.v1beta1.LookupService') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.cloud.servicedirectory.v1beta1.LookupService, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.servicedirectory.v1beta1.LookupService', + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.servicedirectory.v1beta1 + .LookupService, + this._opts, + this._providedCustomServicePath, + ) as Promise<{ [method: string]: Function }>; // Iterate over each of the methods that the service provides // and create an API call method for each. - const lookupServiceStubMethods = - ['resolveService']; + const lookupServiceStubMethods = ['resolveService']; for (const methodName of lookupServiceStubMethods) { const callPromise = this.lookupServiceStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, - (err: Error|null|undefined) => () => { + (stub) => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error | null | undefined) => () => { throw err; - }); + }, + ); - const descriptor = - undefined; + const descriptor = undefined; const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], descriptor, - this._opts.fallback + this._opts.fallback, ); this.innerApiCalls[methodName] = apiCall; @@ -272,8 +304,14 @@ export class LookupServiceClient { * @returns {string} The DNS address for this service. */ static get servicePath() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static servicePath is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'servicedirectory.googleapis.com'; } @@ -284,8 +322,14 @@ export class LookupServiceClient { * @returns {string} The DNS address for this service. */ static get apiEndpoint() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static apiEndpoint is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'servicedirectory.googleapis.com'; } @@ -316,9 +360,7 @@ export class LookupServiceClient { * @returns {string[]} List of default scopes. */ static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; + return ['https://www.googleapis.com/auth/cloud-platform']; } getProjectId(): Promise; @@ -327,8 +369,9 @@ export class LookupServiceClient { * Return the project ID used by this class. * @returns {Promise} A promise that resolves to string containing the project ID. */ - getProjectId(callback?: Callback): - Promise|void { + getProjectId( + callback?: Callback, + ): Promise | void { if (callback) { this.auth.getProjectId(callback); return; @@ -339,145 +382,194 @@ export class LookupServiceClient { // ------------------- // -- Service calls -- // ------------------- -/** - * Returns a {@link protos.google.cloud.servicedirectory.v1beta1.Service|service} and its - * associated endpoints. - * Resolving a service is not considered an active developer method. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the service to resolve. - * @param {number} [request.maxEndpoints] - * Optional. The maximum number of endpoints to return. Defaults to 25. - * Maximum is 100. If a value less than one is specified, the Default is used. - * If a value greater than the Maximum is specified, the Maximum is used. - * @param {string} [request.endpointFilter] - * Optional. The filter applied to the endpoints of the resolved service. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name`, `address`, `port`, or `metadata.` for - * map field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `metadata.owner` returns endpoints that have a annotation with the key - * `owner`, this is the same as `metadata:owner` - * * `metadata.protocol=gRPC` returns endpoints that have key/value - * `protocol=gRPC` - * * `address=192.108.1.105` returns endpoints that have this address - * * `port>8080` returns endpoints that have port number larger than 8080 - * * - * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` - * returns endpoints that have name that is alphabetically later than the - * string, so "endpoint-e" is returned but "endpoint-a" is not - * * - * `name=projects/my-project/locations/us-central1/namespaces/my-namespace/services/my-service/endpoints/ep-1` - * returns the endpoint that has an endpoint_id equal to `ep-1` - * * `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have - * `owner` in annotation key but value is not `sd` AND have key/value - * `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that endpoint - * doesn't have a field called "doesnotexist". Since the filter does not - * match any endpoint, it returns no results - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.ResolveServiceResponse|ResolveServiceResponse}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/lookup_service.resolve_service.js - * region_tag:servicedirectory_v1beta1_generated_LookupService_ResolveService_async - */ + /** + * Returns a {@link protos.google.cloud.servicedirectory.v1beta1.Service|service} and its + * associated endpoints. + * Resolving a service is not considered an active developer method. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the service to resolve. + * @param {number} [request.maxEndpoints] + * Optional. The maximum number of endpoints to return. Defaults to 25. + * Maximum is 100. If a value less than one is specified, the Default is used. + * If a value greater than the Maximum is specified, the Maximum is used. + * @param {string} [request.endpointFilter] + * Optional. The filter applied to the endpoints of the resolved service. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name`, `address`, `port`, or `metadata.` for + * map field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `metadata.owner` returns endpoints that have a annotation with the key + * `owner`, this is the same as `metadata:owner` + * * `metadata.protocol=gRPC` returns endpoints that have key/value + * `protocol=gRPC` + * * `address=192.108.1.105` returns endpoints that have this address + * * `port>8080` returns endpoints that have port number larger than 8080 + * * + * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` + * returns endpoints that have name that is alphabetically later than the + * string, so "endpoint-e" is returned but "endpoint-a" is not + * * + * `name=projects/my-project/locations/us-central1/namespaces/my-namespace/services/my-service/endpoints/ep-1` + * returns the endpoint that has an endpoint_id equal to `ep-1` + * * `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have + * `owner` in annotation key but value is not `sd` AND have key/value + * `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that endpoint + * doesn't have a field called "doesnotexist". Since the filter does not + * match any endpoint, it returns no results + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.ResolveServiceResponse|ResolveServiceResponse}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/lookup_service.resolve_service.js + * region_tag:servicedirectory_v1beta1_generated_LookupService_ResolveService_async + */ resolveService( - request?: protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, - protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, + ( + | protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest + | undefined + ), + {} | undefined, + ] + >; resolveService( - request: protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, - protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, + | protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; resolveService( - request: protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, - protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, + | protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; resolveService( - request?: protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, - protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, - protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, - protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, + | protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, + ( + | protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('resolveService request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, - protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, + | protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('resolveService response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.resolveService(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, - protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest|undefined, - {}|undefined - ]) => { - this._log.info('resolveService response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .resolveService(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, + ( + | protos.google.cloud.servicedirectory.v1beta1.IResolveServiceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('resolveService response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** + /** * Gets information about a location. * * @param {Object} request @@ -512,12 +604,11 @@ export class LookupServiceClient { | null | undefined, {} | null | undefined - > + >, ): Promise { return this.locationsClient.getLocation(request, options, callback); } - -/** + /** * Lists information about the supported locations for this service. Returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. @@ -550,7 +641,7 @@ export class LookupServiceClient { */ listLocationsAsync( request: LocationProtos.google.cloud.location.IListLocationsRequest, - options?: CallOptions + options?: CallOptions, ): AsyncIterable { return this.locationsClient.listLocationsAsync(request, options); } @@ -569,7 +660,13 @@ export class LookupServiceClient { * @param {string} endpoint * @returns {string} Resource name string. */ - endpointPath(project:string,location:string,namespace:string,service:string,endpoint:string) { + endpointPath( + project: string, + location: string, + namespace: string, + service: string, + endpoint: string, + ) { return this.pathTemplates.endpointPathTemplate.render({ project: project, location: location, @@ -609,7 +706,8 @@ export class LookupServiceClient { * @returns {string} A string representing the namespace. */ matchNamespaceFromEndpointName(endpointName: string) { - return this.pathTemplates.endpointPathTemplate.match(endpointName).namespace; + return this.pathTemplates.endpointPathTemplate.match(endpointName) + .namespace; } /** @@ -642,7 +740,7 @@ export class LookupServiceClient { * @param {string} namespace * @returns {string} Resource name string. */ - namespacePath(project:string,location:string,namespace:string) { + namespacePath(project: string, location: string, namespace: string) { return this.pathTemplates.namespacePathTemplate.render({ project: project, location: location, @@ -658,7 +756,8 @@ export class LookupServiceClient { * @returns {string} A string representing the project. */ matchProjectFromNamespaceName(namespaceName: string) { - return this.pathTemplates.namespacePathTemplate.match(namespaceName).project; + return this.pathTemplates.namespacePathTemplate.match(namespaceName) + .project; } /** @@ -669,7 +768,8 @@ export class LookupServiceClient { * @returns {string} A string representing the location. */ matchLocationFromNamespaceName(namespaceName: string) { - return this.pathTemplates.namespacePathTemplate.match(namespaceName).location; + return this.pathTemplates.namespacePathTemplate.match(namespaceName) + .location; } /** @@ -680,7 +780,8 @@ export class LookupServiceClient { * @returns {string} A string representing the namespace. */ matchNamespaceFromNamespaceName(namespaceName: string) { - return this.pathTemplates.namespacePathTemplate.match(namespaceName).namespace; + return this.pathTemplates.namespacePathTemplate.match(namespaceName) + .namespace; } /** @@ -692,7 +793,12 @@ export class LookupServiceClient { * @param {string} service * @returns {string} Resource name string. */ - servicePath(project:string,location:string,namespace:string,service:string) { + servicePath( + project: string, + location: string, + namespace: string, + service: string, + ) { return this.pathTemplates.servicePathTemplate.render({ project: project, location: location, @@ -753,13 +859,15 @@ export class LookupServiceClient { */ close(): Promise { if (this.lookupServiceStub && !this._terminated) { - return this.lookupServiceStub.then(stub => { + return this.lookupServiceStub.then((stub) => { this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); - this.locationsClient.close().catch(err => {throw err}); + this.locationsClient.close().catch((err) => { + throw err; + }); }); } return Promise.resolve(); } -} \ No newline at end of file +} diff --git a/packages/google-cloud-servicedirectory/src/v1beta1/registration_service_client.ts b/packages/google-cloud-servicedirectory/src/v1beta1/registration_service_client.ts index 115b54e3c28d..9490f1f9532c 100644 --- a/packages/google-cloud-servicedirectory/src/v1beta1/registration_service_client.ts +++ b/packages/google-cloud-servicedirectory/src/v1beta1/registration_service_client.ts @@ -18,11 +18,20 @@ /* global window */ import type * as gax from 'google-gax'; -import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall, LocationsClient, LocationProtos} from 'google-gax'; -import {Transform} from 'stream'; +import type { + Callback, + CallOptions, + Descriptors, + ClientOptions, + PaginationCallback, + GaxCall, + LocationsClient, + LocationProtos, +} from 'google-gax'; +import { Transform } from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); -import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax'; +import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -58,7 +67,7 @@ export class RegistrationServiceClient { private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; + private _defaults: { [method: string]: gax.CallSettings }; private _universeDomain: string; private _servicePath: string; private _log = logging.log('service-directory'); @@ -71,10 +80,10 @@ export class RegistrationServiceClient { batching: {}, }; warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; + innerApiCalls: { [name: string]: Function }; locationsClient: LocationsClient; - pathTemplates: {[name: string]: gax.PathTemplate}; - registrationServiceStub?: Promise<{[name: string]: Function}>; + pathTemplates: { [name: string]: gax.PathTemplate }; + registrationServiceStub?: Promise<{ [name: string]: Function }>; /** * Construct an instance of RegistrationServiceClient. @@ -115,21 +124,42 @@ export class RegistrationServiceClient { * const client = new RegistrationServiceClient({fallback: true}, gax); * ``` */ - constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback, + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof RegistrationServiceClient; - if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) { - throw new Error('Please set either universe_domain or universeDomain, but not both.'); + if ( + opts?.universe_domain && + opts?.universeDomain && + opts?.universe_domain !== opts?.universeDomain + ) { + throw new Error( + 'Please set either universe_domain or universeDomain, but not both.', + ); } - const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined; - this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com'; + const universeDomainEnvVar = + typeof process === 'object' && typeof process.env === 'object' + ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] + : undefined; + this._universeDomain = + opts?.universeDomain ?? + opts?.universe_domain ?? + universeDomainEnvVar ?? + 'googleapis.com'; this._servicePath = 'servicedirectory.' + this._universeDomain; - const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const servicePath = + opts?.servicePath || opts?.apiEndpoint || this._servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); - opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts); // Request numeric enum values if REST transport is used. opts.numericEnums = true; @@ -154,7 +184,7 @@ export class RegistrationServiceClient { this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Set useJWTAccessWithScope on the auth object. this.auth.useJWTAccessWithScope = true; @@ -168,15 +198,11 @@ export class RegistrationServiceClient { } this.locationsClient = new this._gaxModule.LocationsClient( this._gaxGrpc, - opts + opts, ); - // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process === 'object' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { @@ -198,16 +224,16 @@ export class RegistrationServiceClient { // Create useful helper objects for these. this.pathTemplates = { endpointPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}/endpoints/{endpoint}' + 'projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}/endpoints/{endpoint}', ), locationPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}' + 'projects/{project}/locations/{location}', ), namespacePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/namespaces/{namespace}' + 'projects/{project}/locations/{location}/namespaces/{namespace}', ), servicePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}' + 'projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}', ), }; @@ -215,18 +241,30 @@ export class RegistrationServiceClient { // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. this.descriptors.page = { - listNamespaces: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'namespaces'), - listServices: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'services'), - listEndpoints: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'endpoints') + listNamespaces: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'namespaces', + ), + listServices: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'services', + ), + listEndpoints: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'endpoints', + ), }; // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.servicedirectory.v1beta1.RegistrationService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + 'google.cloud.servicedirectory.v1beta1.RegistrationService', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + { 'x-goog-api-client': clientHeader.join(' ') }, + ); // Set up a dictionary of "inner API calls"; the core implementation // of calling the API is handled in `google-gax`, with this code @@ -257,37 +295,60 @@ export class RegistrationServiceClient { // Put together the "service stub" for // google.cloud.servicedirectory.v1beta1.RegistrationService. this.registrationServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.servicedirectory.v1beta1.RegistrationService') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.cloud.servicedirectory.v1beta1.RegistrationService, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.servicedirectory.v1beta1.RegistrationService', + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.servicedirectory.v1beta1 + .RegistrationService, + this._opts, + this._providedCustomServicePath, + ) as Promise<{ [method: string]: Function }>; // Iterate over each of the methods that the service provides // and create an API call method for each. - const registrationServiceStubMethods = - ['createNamespace', 'listNamespaces', 'getNamespace', 'updateNamespace', 'deleteNamespace', 'createService', 'listServices', 'getService', 'updateService', 'deleteService', 'createEndpoint', 'listEndpoints', 'getEndpoint', 'updateEndpoint', 'deleteEndpoint', 'getIamPolicy', 'setIamPolicy', 'testIamPermissions']; + const registrationServiceStubMethods = [ + 'createNamespace', + 'listNamespaces', + 'getNamespace', + 'updateNamespace', + 'deleteNamespace', + 'createService', + 'listServices', + 'getService', + 'updateService', + 'deleteService', + 'createEndpoint', + 'listEndpoints', + 'getEndpoint', + 'updateEndpoint', + 'deleteEndpoint', + 'getIamPolicy', + 'setIamPolicy', + 'testIamPermissions', + ]; for (const methodName of registrationServiceStubMethods) { const callPromise = this.registrationServiceStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, - (err: Error|null|undefined) => () => { + (stub) => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error | null | undefined) => () => { throw err; - }); + }, + ); - const descriptor = - this.descriptors.page[methodName] || - undefined; + const descriptor = this.descriptors.page[methodName] || undefined; const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], descriptor, - this._opts.fallback + this._opts.fallback, ); this.innerApiCalls[methodName] = apiCall; @@ -302,8 +363,14 @@ export class RegistrationServiceClient { * @returns {string} The DNS address for this service. */ static get servicePath() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static servicePath is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'servicedirectory.googleapis.com'; } @@ -314,8 +381,14 @@ export class RegistrationServiceClient { * @returns {string} The DNS address for this service. */ static get apiEndpoint() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static apiEndpoint is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'servicedirectory.googleapis.com'; } @@ -346,9 +419,7 @@ export class RegistrationServiceClient { * @returns {string[]} List of default scopes. */ static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; + return ['https://www.googleapis.com/auth/cloud-platform']; } getProjectId(): Promise; @@ -357,8 +428,9 @@ export class RegistrationServiceClient { * Return the project ID used by this class. * @returns {Promise} A promise that resolves to string containing the project ID. */ - getProjectId(callback?: Callback): - Promise|void { + getProjectId( + callback?: Callback, + ): Promise | void { if (callback) { this.auth.getProjectId(callback); return; @@ -369,1604 +441,2307 @@ export class RegistrationServiceClient { // ------------------- // -- Service calls -- // ------------------- -/** - * Creates a namespace, and returns the new namespace. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the project and location the namespace - * will be created in. - * @param {string} request.namespaceId - * Required. The Resource ID must be 1-63 characters long, and comply with - * RFC1035. - * Specifically, the name must be 1-63 characters long and match the regular - * expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first - * character must be a lowercase letter, and all following characters must - * be a dash, lowercase letter, or digit, except the last character, which - * cannot be a dash. - * @param {google.cloud.servicedirectory.v1beta1.Namespace} request.namespace - * Required. A namespace with initial fields set. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Namespace|Namespace}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.create_namespace.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_CreateNamespace_async - */ + /** + * Creates a namespace, and returns the new namespace. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the project and location the namespace + * will be created in. + * @param {string} request.namespaceId + * Required. The Resource ID must be 1-63 characters long, and comply with + * RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first + * character must be a lowercase letter, and all following characters must + * be a dash, lowercase letter, or digit, except the last character, which + * cannot be a dash. + * @param {google.cloud.servicedirectory.v1beta1.Namespace} request.namespace + * Required. A namespace with initial fields set. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Namespace|Namespace}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.create_namespace.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_CreateNamespace_async + */ createNamespace( - request?: protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.INamespace, + ( + | protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest + | undefined + ), + {} | undefined, + ] + >; createNamespace( - request: protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.INamespace, + | protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; createNamespace( - request: protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.INamespace, + | protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; createNamespace( - request?: protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1beta1.INamespace, + | protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.INamespace, + ( + | protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('createNamespace request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1beta1.INamespace, + | protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('createNamespace response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.createNamespace(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest|undefined, - {}|undefined - ]) => { - this._log.info('createNamespace response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .createNamespace(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1beta1.INamespace, + ( + | protos.google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('createNamespace response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Gets a namespace. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the namespace to retrieve. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Namespace|Namespace}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.get_namespace.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_GetNamespace_async - */ + /** + * Gets a namespace. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the namespace to retrieve. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Namespace|Namespace}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.get_namespace.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_GetNamespace_async + */ getNamespace( - request?: protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.INamespace, + ( + | protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest + | undefined + ), + {} | undefined, + ] + >; getNamespace( - request: protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.INamespace, + | protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getNamespace( - request: protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.INamespace, + | protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getNamespace( - request?: protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1beta1.INamespace, + | protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.INamespace, + ( + | protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getNamespace request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1beta1.INamespace, + | protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getNamespace response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getNamespace(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest|undefined, - {}|undefined - ]) => { - this._log.info('getNamespace response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getNamespace(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1beta1.INamespace, + ( + | protos.google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getNamespace response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Updates a namespace. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.servicedirectory.v1beta1.Namespace} request.namespace - * Required. The updated namespace. - * @param {google.protobuf.FieldMask} request.updateMask - * Required. List of fields to be updated in this request. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Namespace|Namespace}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.update_namespace.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_UpdateNamespace_async - */ + /** + * Updates a namespace. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.servicedirectory.v1beta1.Namespace} request.namespace + * Required. The updated namespace. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. List of fields to be updated in this request. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Namespace|Namespace}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.update_namespace.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_UpdateNamespace_async + */ updateNamespace( - request?: protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.INamespace, + ( + | protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest + | undefined + ), + {} | undefined, + ] + >; updateNamespace( - request: protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.INamespace, + | protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; updateNamespace( - request: protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.INamespace, + | protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; updateNamespace( - request?: protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1beta1.INamespace, + | protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.INamespace, + ( + | protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'namespace.name': request.namespace!.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + 'namespace.name': request.namespace!.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('updateNamespace request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1beta1.INamespace, + | protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('updateNamespace response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.updateNamespace(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1beta1.INamespace, - protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest|undefined, - {}|undefined - ]) => { - this._log.info('updateNamespace response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .updateNamespace(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1beta1.INamespace, + ( + | protos.google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('updateNamespace response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Deletes a namespace. This also deletes all services and endpoints in - * the namespace. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the namespace to delete. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.delete_namespace.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_DeleteNamespace_async - */ + /** + * Deletes a namespace. This also deletes all services and endpoints in + * the namespace. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the namespace to delete. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.delete_namespace.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_DeleteNamespace_async + */ deleteNamespace( - request?: protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest, - options?: CallOptions): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest + | undefined + ), + {} | undefined, + ] + >; deleteNamespace( - request: protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest, - options: CallOptions, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; deleteNamespace( - request: protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; deleteNamespace( - request?: protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('deleteNamespace request %j', request); - const wrappedCallback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('deleteNamespace response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.deleteNamespace(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest|undefined, - {}|undefined - ]) => { - this._log.info('deleteNamespace response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .deleteNamespace(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('deleteNamespace response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Creates a service, and returns the new service. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the namespace this service will belong to. - * @param {string} request.serviceId - * Required. The Resource ID must be 1-63 characters long, and comply with - * RFC1035. - * Specifically, the name must be 1-63 characters long and match the regular - * expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first - * character must be a lowercase letter, and all following characters must - * be a dash, lowercase letter, or digit, except the last character, which - * cannot be a dash. - * @param {google.cloud.servicedirectory.v1beta1.Service} request.service - * Required. A service with initial fields set. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Service|Service}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.create_service.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_CreateService_async - */ + /** + * Creates a service, and returns the new service. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the namespace this service will belong to. + * @param {string} request.serviceId + * Required. The Resource ID must be 1-63 characters long, and comply with + * RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first + * character must be a lowercase letter, and all following characters must + * be a dash, lowercase letter, or digit, except the last character, which + * cannot be a dash. + * @param {google.cloud.servicedirectory.v1beta1.Service} request.service + * Required. A service with initial fields set. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Service|Service}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.create_service.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_CreateService_async + */ createService( - request?: protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IService, + ( + | protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest + | undefined + ), + {} | undefined, + ] + >; createService( - request: protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.IService, + | protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; createService( - request: protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.IService, + | protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; createService( - request?: protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1beta1.IService, + | protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IService, + ( + | protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('createService request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1beta1.IService, + | protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('createService response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.createService(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest|undefined, - {}|undefined - ]) => { - this._log.info('createService response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .createService(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1beta1.IService, + ( + | protos.google.cloud.servicedirectory.v1beta1.ICreateServiceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('createService response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Gets a service. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the service to get. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Service|Service}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.get_service.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_GetService_async - */ + /** + * Gets a service. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the service to get. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Service|Service}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.get_service.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_GetService_async + */ getService( - request?: protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IService, + ( + | protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest + | undefined + ), + {} | undefined, + ] + >; getService( - request: protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.IService, + | protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getService( - request: protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.IService, + | protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getService( - request?: protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1beta1.IService, + | protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IService, + ( + | protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getService request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1beta1.IService, + | protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getService response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getService(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest|undefined, - {}|undefined - ]) => { - this._log.info('getService response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getService(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1beta1.IService, + ( + | protos.google.cloud.servicedirectory.v1beta1.IGetServiceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getService response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Updates a service. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.servicedirectory.v1beta1.Service} request.service - * Required. The updated service. - * @param {google.protobuf.FieldMask} request.updateMask - * Required. List of fields to be updated in this request. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Service|Service}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.update_service.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_UpdateService_async - */ + /** + * Updates a service. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.servicedirectory.v1beta1.Service} request.service + * Required. The updated service. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. List of fields to be updated in this request. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Service|Service}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.update_service.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_UpdateService_async + */ updateService( - request?: protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IService, + ( + | protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest + | undefined + ), + {} | undefined, + ] + >; updateService( - request: protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.IService, + | protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; updateService( - request: protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.IService, + | protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; updateService( - request?: protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1beta1.IService, + | protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IService, + ( + | protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'service.name': request.service!.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + 'service.name': request.service!.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('updateService request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1beta1.IService, + | protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('updateService response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.updateService(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1beta1.IService, - protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest|undefined, - {}|undefined - ]) => { - this._log.info('updateService response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .updateService(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1beta1.IService, + ( + | protos.google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('updateService response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Deletes a service. This also deletes all endpoints associated with - * the service. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the service to delete. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.delete_service.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_DeleteService_async - */ + /** + * Deletes a service. This also deletes all endpoints associated with + * the service. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the service to delete. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.delete_service.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_DeleteService_async + */ deleteService( - request?: protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest, - options?: CallOptions): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest + | undefined + ), + {} | undefined, + ] + >; deleteService( - request: protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest, - options: CallOptions, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; deleteService( - request: protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): void; deleteService( - request?: protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('deleteService request %j', request); - const wrappedCallback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('deleteService response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.deleteService(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest|undefined, - {}|undefined - ]) => { - this._log.info('deleteService response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .deleteService(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('deleteService response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Creates an endpoint, and returns the new endpoint. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the service that this endpoint provides. - * @param {string} request.endpointId - * Required. The Resource ID must be 1-63 characters long, and comply with - * RFC1035. - * Specifically, the name must be 1-63 characters long and match the regular - * expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first - * character must be a lowercase letter, and all following characters must - * be a dash, lowercase letter, or digit, except the last character, which - * cannot be a dash. - * @param {google.cloud.servicedirectory.v1beta1.Endpoint} request.endpoint - * Required. A endpoint with initial fields set. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Endpoint|Endpoint}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.create_endpoint.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_CreateEndpoint_async - */ + /** + * Creates an endpoint, and returns the new endpoint. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the service that this endpoint provides. + * @param {string} request.endpointId + * Required. The Resource ID must be 1-63 characters long, and comply with + * RFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first + * character must be a lowercase letter, and all following characters must + * be a dash, lowercase letter, or digit, except the last character, which + * cannot be a dash. + * @param {google.cloud.servicedirectory.v1beta1.Endpoint} request.endpoint + * Required. A endpoint with initial fields set. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Endpoint|Endpoint}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.create_endpoint.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_CreateEndpoint_async + */ createEndpoint( - request?: protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + ( + | protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest + | undefined + ), + {} | undefined, + ] + >; createEndpoint( - request: protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + | protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): void; createEndpoint( - request: protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + | protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): void; createEndpoint( - request?: protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + | protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + ( + | protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('createEndpoint request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + | protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('createEndpoint response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.createEndpoint(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest|undefined, - {}|undefined - ]) => { - this._log.info('createEndpoint response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .createEndpoint(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + ( + | protos.google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('createEndpoint response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Gets an endpoint. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the endpoint to get. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Endpoint|Endpoint}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.get_endpoint.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_GetEndpoint_async - */ + /** + * Gets an endpoint. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the endpoint to get. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Endpoint|Endpoint}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.get_endpoint.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_GetEndpoint_async + */ getEndpoint( - request?: protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + ( + | protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest + | undefined + ), + {} | undefined, + ] + >; getEndpoint( - request: protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + | protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getEndpoint( - request: protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + | protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getEndpoint( - request?: protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + | protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + ( + | protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getEndpoint request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + | protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getEndpoint response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getEndpoint(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest|undefined, - {}|undefined - ]) => { - this._log.info('getEndpoint response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getEndpoint(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + ( + | protos.google.cloud.servicedirectory.v1beta1.IGetEndpointRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getEndpoint response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Updates an endpoint. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.servicedirectory.v1beta1.Endpoint} request.endpoint - * Required. The updated endpoint. - * @param {google.protobuf.FieldMask} request.updateMask - * Required. List of fields to be updated in this request. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Endpoint|Endpoint}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.update_endpoint.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_UpdateEndpoint_async - */ + /** + * Updates an endpoint. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.servicedirectory.v1beta1.Endpoint} request.endpoint + * Required. The updated endpoint. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. List of fields to be updated in this request. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Endpoint|Endpoint}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.update_endpoint.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_UpdateEndpoint_async + */ updateEndpoint( - request?: protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + ( + | protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest + | undefined + ), + {} | undefined, + ] + >; updateEndpoint( - request: protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + | protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): void; updateEndpoint( - request: protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest, - callback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest, + callback: Callback< + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + | protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): void; updateEndpoint( - request?: protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + | protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + ( + | protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'endpoint.name': request.endpoint!.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + 'endpoint.name': request.endpoint!.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('updateEndpoint request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + | protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('updateEndpoint response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.updateEndpoint(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicedirectory.v1beta1.IEndpoint, - protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest|undefined, - {}|undefined - ]) => { - this._log.info('updateEndpoint response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .updateEndpoint(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicedirectory.v1beta1.IEndpoint, + ( + | protos.google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('updateEndpoint response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Deletes an endpoint. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the endpoint to delete. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.delete_endpoint.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_DeleteEndpoint_async - */ + /** + * Deletes an endpoint. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the endpoint to delete. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.delete_endpoint.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_DeleteEndpoint_async + */ deleteEndpoint( - request?: protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest, - options?: CallOptions): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest + | undefined + ), + {} | undefined, + ] + >; deleteEndpoint( - request: protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest, - options: CallOptions, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): void; deleteEndpoint( - request: protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): void; deleteEndpoint( - request?: protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('deleteEndpoint request %j', request); - const wrappedCallback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('deleteEndpoint response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.deleteEndpoint(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.protobuf.IEmpty, - protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest|undefined, - {}|undefined - ]) => { - this._log.info('deleteEndpoint response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .deleteEndpoint(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('deleteEndpoint response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Gets the IAM Policy for a resource - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy is being requested. - * See the operation documentation for the appropriate value for this field. - * @param {google.iam.v1.GetPolicyOptions} request.options - * OPTIONAL: A `GetPolicyOptions` object for specifying options to - * `GetIamPolicy`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.get_iam_policy.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_GetIamPolicy_async - */ + /** + * Gets the IAM Policy for a resource + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy is being requested. + * See the operation documentation for the appropriate value for this field. + * @param {google.iam.v1.GetPolicyOptions} request.options + * OPTIONAL: A `GetPolicyOptions` object for specifying options to + * `GetIamPolicy`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.get_iam_policy.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_GetIamPolicy_async + */ getIamPolicy( - request?: protos.google.iam.v1.IGetIamPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined - ]>; + request?: protos.google.iam.v1.IGetIamPolicyRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | undefined, + {} | undefined, + ] + >; getIamPolicy( - request: protos.google.iam.v1.IGetIamPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.iam.v1.IGetIamPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + ): void; getIamPolicy( - request: protos.google.iam.v1.IGetIamPolicyRequest, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.iam.v1.IGetIamPolicyRequest, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + ): void; getIamPolicy( - request?: protos.google.iam.v1.IGetIamPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.iam.v1.IGetIamPolicyRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined - ]>|void { + protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + resource: request.resource ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getIamPolicy request %j', request); - const wrappedCallback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getIamPolicy response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getIamPolicy(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|undefined, - {}|undefined - ]) => { - this._log.info('getIamPolicy response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getIamPolicy(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | undefined, + {} | undefined, + ]) => { + this._log.info('getIamPolicy response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Sets the IAM Policy for a resource - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy is being specified. - * See the operation documentation for the appropriate value for this field. - * @param {google.iam.v1.Policy} request.policy - * REQUIRED: The complete policy to be applied to the `resource`. The size of - * the policy is limited to a few 10s of KB. An empty policy is a - * valid policy but certain Cloud Platform services (such as Projects) - * might reject them. - * @param {google.protobuf.FieldMask} request.updateMask - * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only - * the fields in the mask will be modified. If no mask is provided, the - * following default mask is used: - * - * `paths: "bindings, etag"` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.set_iam_policy.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_SetIamPolicy_async - */ + /** + * Sets the IAM Policy for a resource + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy is being specified. + * See the operation documentation for the appropriate value for this field. + * @param {google.iam.v1.Policy} request.policy + * REQUIRED: The complete policy to be applied to the `resource`. The size of + * the policy is limited to a few 10s of KB. An empty policy is a + * valid policy but certain Cloud Platform services (such as Projects) + * might reject them. + * @param {google.protobuf.FieldMask} request.updateMask + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only + * the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: + * + * `paths: "bindings, etag"` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.set_iam_policy.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_SetIamPolicy_async + */ setIamPolicy( - request?: protos.google.iam.v1.ISetIamPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined - ]>; + request?: protos.google.iam.v1.ISetIamPolicyRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | undefined, + {} | undefined, + ] + >; setIamPolicy( - request: protos.google.iam.v1.ISetIamPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.iam.v1.ISetIamPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + ): void; setIamPolicy( - request: protos.google.iam.v1.ISetIamPolicyRequest, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.iam.v1.ISetIamPolicyRequest, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + ): void; setIamPolicy( - request?: protos.google.iam.v1.ISetIamPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.iam.v1.ISetIamPolicyRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined - ]>|void { + protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + resource: request.resource ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('setIamPolicy request %j', request); - const wrappedCallback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('setIamPolicy response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.setIamPolicy(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|undefined, - {}|undefined - ]) => { - this._log.info('setIamPolicy response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .setIamPolicy(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | undefined, + {} | undefined, + ]) => { + this._log.info('setIamPolicy response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Tests IAM permissions for a resource (namespace, service or - * service workload only). - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy detail is being requested. - * See the operation documentation for the appropriate value for this field. - * @param {string[]} request.permissions - * The set of permissions to check for the `resource`. Permissions with - * wildcards (such as '*' or 'storage.*') are not allowed. For more - * information see - * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.iam.v1.TestIamPermissionsResponse|TestIamPermissionsResponse}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.test_iam_permissions.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_TestIamPermissions_async - */ + /** + * Tests IAM permissions for a resource (namespace, service or + * service workload only). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + * @param {string[]} request.permissions + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. For more + * information see + * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.iam.v1.TestIamPermissionsResponse|TestIamPermissionsResponse}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.test_iam_permissions.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_TestIamPermissions_async + */ testIamPermissions( - request?: protos.google.iam.v1.ITestIamPermissionsRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined - ]>; + request?: protos.google.iam.v1.ITestIamPermissionsRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | undefined, + {} | undefined, + ] + >; testIamPermissions( - request: protos.google.iam.v1.ITestIamPermissionsRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.iam.v1.ITestIamPermissionsRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, + {} | null | undefined + >, + ): void; testIamPermissions( - request: protos.google.iam.v1.ITestIamPermissionsRequest, - callback: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.iam.v1.ITestIamPermissionsRequest, + callback: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, + {} | null | undefined + >, + ): void; testIamPermissions( - request?: protos.google.iam.v1.ITestIamPermissionsRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.iam.v1.ITestIamPermissionsRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined - ]>|void { + protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + resource: request.resource ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('testIamPermissions request %j', request); - const wrappedCallback: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('testIamPermissions response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.testIamPermissions(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|undefined, - {}|undefined - ]) => { - this._log.info('testIamPermissions response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .testIamPermissions(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | undefined, + {} | undefined, + ]) => { + this._log.info('testIamPermissions response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } - /** - * Lists all namespaces. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the project and location whose namespaces - * you'd like to list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. The default value is 100. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name`, `labels.` for map field, or - * `attributes.` for attributes field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `labels.owner` returns namespaces that have a label with the key - * `owner`, this is the same as `labels:owner` - * * `labels.owner=sd` returns namespaces that have key/value `owner=sd` - * * `name>projects/my-project/locations/us-east1/namespaces/namespace-c` - * returns namespaces that have name that is alphabetically later than the - * string, so "namespace-e" is returned but "namespace-a" is not - * * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have - * `owner` in label key but value is not `sd` AND have key/value `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that namespace - * doesn't have a field called "doesnotexist". Since the filter does not - * match any namespaces, it returns no results - * * `attributes.managed_registration=true` returns namespaces that are - * managed by a GCP product or service - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows value: `name` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of {@link protos.google.cloud.servicedirectory.v1beta1.Namespace|Namespace}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listNamespacesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Lists all namespaces. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the project and location whose namespaces + * you'd like to list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. The default value is 100. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name`, `labels.` for map field, or + * `attributes.` for attributes field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `labels.owner` returns namespaces that have a label with the key + * `owner`, this is the same as `labels:owner` + * * `labels.owner=sd` returns namespaces that have key/value `owner=sd` + * * `name>projects/my-project/locations/us-east1/namespaces/namespace-c` + * returns namespaces that have name that is alphabetically later than the + * string, so "namespace-e" is returned but "namespace-a" is not + * * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have + * `owner` in label key but value is not `sd` AND have key/value `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that namespace + * doesn't have a field called "doesnotexist". Since the filter does not + * match any namespaces, it returns no results + * * `attributes.managed_registration=true` returns namespaces that are + * managed by a GCP product or service + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows value: `name` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of {@link protos.google.cloud.servicedirectory.v1beta1.Namespace|Namespace}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listNamespacesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listNamespaces( - request?: protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.INamespace[], - protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest|null, - protos.google.cloud.servicedirectory.v1beta1.IListNamespacesResponse - ]>; + request?: protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.INamespace[], + protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest | null, + protos.google.cloud.servicedirectory.v1beta1.IListNamespacesResponse, + ] + >; listNamespaces( - request: protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, - protos.google.cloud.servicedirectory.v1beta1.IListNamespacesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1beta1.INamespace>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, + | protos.google.cloud.servicedirectory.v1beta1.IListNamespacesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1beta1.INamespace + >, + ): void; listNamespaces( - request: protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, - callback: PaginationCallback< - protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, - protos.google.cloud.servicedirectory.v1beta1.IListNamespacesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1beta1.INamespace>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, + callback: PaginationCallback< + protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, + | protos.google.cloud.servicedirectory.v1beta1.IListNamespacesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1beta1.INamespace + >, + ): void; listNamespaces( - request?: protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, - optionsOrCallback?: CallOptions|PaginationCallback< + request?: protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, - protos.google.cloud.servicedirectory.v1beta1.IListNamespacesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1beta1.INamespace>, - callback?: PaginationCallback< - protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, - protos.google.cloud.servicedirectory.v1beta1.IListNamespacesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1beta1.INamespace>): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.INamespace[], - protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest|null, - protos.google.cloud.servicedirectory.v1beta1.IListNamespacesResponse - ]>|void { + | protos.google.cloud.servicedirectory.v1beta1.IListNamespacesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1beta1.INamespace + >, + callback?: PaginationCallback< + protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, + | protos.google.cloud.servicedirectory.v1beta1.IListNamespacesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1beta1.INamespace + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.INamespace[], + protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest | null, + protos.google.cloud.servicedirectory.v1beta1.IListNamespacesResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, - protos.google.cloud.servicedirectory.v1beta1.IListNamespacesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1beta1.INamespace>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, + | protos.google.cloud.servicedirectory.v1beta1.IListNamespacesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1beta1.INamespace + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listNamespaces values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -1975,324 +2750,353 @@ export class RegistrationServiceClient { this._log.info('listNamespaces request %j', request); return this.innerApiCalls .listNamespaces(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.servicedirectory.v1beta1.INamespace[], - protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest|null, - protos.google.cloud.servicedirectory.v1beta1.IListNamespacesResponse - ]) => { - this._log.info('listNamespaces values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.servicedirectory.v1beta1.INamespace[], + protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest | null, + protos.google.cloud.servicedirectory.v1beta1.IListNamespacesResponse, + ]) => { + this._log.info('listNamespaces values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listNamespaces`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the project and location whose namespaces - * you'd like to list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. The default value is 100. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name`, `labels.` for map field, or - * `attributes.` for attributes field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `labels.owner` returns namespaces that have a label with the key - * `owner`, this is the same as `labels:owner` - * * `labels.owner=sd` returns namespaces that have key/value `owner=sd` - * * `name>projects/my-project/locations/us-east1/namespaces/namespace-c` - * returns namespaces that have name that is alphabetically later than the - * string, so "namespace-e" is returned but "namespace-a" is not - * * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have - * `owner` in label key but value is not `sd` AND have key/value `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that namespace - * doesn't have a field called "doesnotexist". Since the filter does not - * match any namespaces, it returns no results - * * `attributes.managed_registration=true` returns namespaces that are - * managed by a GCP product or service - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows value: `name` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Stream} - * An object stream which emits an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Namespace|Namespace} on 'data' event. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed. Note that it can affect your quota. - * We recommend using `listNamespacesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listNamespaces`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the project and location whose namespaces + * you'd like to list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. The default value is 100. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name`, `labels.` for map field, or + * `attributes.` for attributes field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `labels.owner` returns namespaces that have a label with the key + * `owner`, this is the same as `labels:owner` + * * `labels.owner=sd` returns namespaces that have key/value `owner=sd` + * * `name>projects/my-project/locations/us-east1/namespaces/namespace-c` + * returns namespaces that have name that is alphabetically later than the + * string, so "namespace-e" is returned but "namespace-a" is not + * * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have + * `owner` in label key but value is not `sd` AND have key/value `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that namespace + * doesn't have a field called "doesnotexist". Since the filter does not + * match any namespaces, it returns no results + * * `attributes.managed_registration=true` returns namespaces that are + * managed by a GCP product or service + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows value: `name` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Namespace|Namespace} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listNamespacesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listNamespacesStream( - request?: protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listNamespaces']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listNamespaces stream %j', request); return this.descriptors.page.listNamespaces.createStream( this.innerApiCalls.listNamespaces as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listNamespaces`, but returns an iterable object. - * - * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the project and location whose namespaces - * you'd like to list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. The default value is 100. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name`, `labels.` for map field, or - * `attributes.` for attributes field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `labels.owner` returns namespaces that have a label with the key - * `owner`, this is the same as `labels:owner` - * * `labels.owner=sd` returns namespaces that have key/value `owner=sd` - * * `name>projects/my-project/locations/us-east1/namespaces/namespace-c` - * returns namespaces that have name that is alphabetically later than the - * string, so "namespace-e" is returned but "namespace-a" is not - * * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have - * `owner` in label key but value is not `sd` AND have key/value `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that namespace - * doesn't have a field called "doesnotexist". Since the filter does not - * match any namespaces, it returns no results - * * `attributes.managed_registration=true` returns namespaces that are - * managed by a GCP product or service - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows value: `name` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Object} - * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.servicedirectory.v1beta1.Namespace|Namespace}. The API will be called under the hood as needed, once per the page, - * so you can stop the iteration when you don't need more results. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.list_namespaces.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_ListNamespaces_async - */ + /** + * Equivalent to `listNamespaces`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the project and location whose namespaces + * you'd like to list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. The default value is 100. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name`, `labels.` for map field, or + * `attributes.` for attributes field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `labels.owner` returns namespaces that have a label with the key + * `owner`, this is the same as `labels:owner` + * * `labels.owner=sd` returns namespaces that have key/value `owner=sd` + * * `name>projects/my-project/locations/us-east1/namespaces/namespace-c` + * returns namespaces that have name that is alphabetically later than the + * string, so "namespace-e" is returned but "namespace-a" is not + * * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have + * `owner` in label key but value is not `sd` AND have key/value `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that namespace + * doesn't have a field called "doesnotexist". Since the filter does not + * match any namespaces, it returns no results + * * `attributes.managed_registration=true` returns namespaces that are + * managed by a GCP product or service + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows value: `name` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.servicedirectory.v1beta1.Namespace|Namespace}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.list_namespaces.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_ListNamespaces_async + */ listNamespacesAsync( - request?: protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listNamespaces']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listNamespaces iterate %j', request); return this.descriptors.page.listNamespaces.asyncIterate( this.innerApiCalls['listNamespaces'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } - /** - * Lists all services belonging to a namespace. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the namespace whose services you'd - * like to list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. The default value is 100. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name` or `metadata.` for map field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `metadata.owner` returns services that have a metadata with the key - * `owner`, this is the same as `metadata:owner` - * * `metadata.protocol=gRPC` returns services that have key/value - * `protocol=gRPC` - * * - * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c` - * returns services that have name that is alphabetically later than the - * string, so "service-e" is returned but "service-a" is not - * * `metadata.owner!=sd AND metadata.foo=bar` returns services that have - * `owner` in metadata key but value is not `sd` AND have key/value - * `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that service - * doesn't have a field called "doesnotexist". Since the filter does not - * match any services, it returns no results - * * `attributes.managed_registration=true` returns services that are - * managed - * by a GCP product or service - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows value: `name` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of {@link protos.google.cloud.servicedirectory.v1beta1.Service|Service}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listServicesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Lists all services belonging to a namespace. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the namespace whose services you'd + * like to list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. The default value is 100. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name` or `metadata.` for map field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `metadata.owner` returns services that have a metadata with the key + * `owner`, this is the same as `metadata:owner` + * * `metadata.protocol=gRPC` returns services that have key/value + * `protocol=gRPC` + * * + * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c` + * returns services that have name that is alphabetically later than the + * string, so "service-e" is returned but "service-a" is not + * * `metadata.owner!=sd AND metadata.foo=bar` returns services that have + * `owner` in metadata key but value is not `sd` AND have key/value + * `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that service + * doesn't have a field called "doesnotexist". Since the filter does not + * match any services, it returns no results + * * `attributes.managed_registration=true` returns services that are + * managed + * by a GCP product or service + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows value: `name` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of {@link protos.google.cloud.servicedirectory.v1beta1.Service|Service}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listServicesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listServices( - request?: protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IService[], - protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest|null, - protos.google.cloud.servicedirectory.v1beta1.IListServicesResponse - ]>; + request?: protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IService[], + protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest | null, + protos.google.cloud.servicedirectory.v1beta1.IListServicesResponse, + ] + >; listServices( - request: protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, - protos.google.cloud.servicedirectory.v1beta1.IListServicesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1beta1.IService>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, + | protos.google.cloud.servicedirectory.v1beta1.IListServicesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1beta1.IService + >, + ): void; listServices( - request: protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, - callback: PaginationCallback< - protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, - protos.google.cloud.servicedirectory.v1beta1.IListServicesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1beta1.IService>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, + callback: PaginationCallback< + protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, + | protos.google.cloud.servicedirectory.v1beta1.IListServicesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1beta1.IService + >, + ): void; listServices( - request?: protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, - optionsOrCallback?: CallOptions|PaginationCallback< + request?: protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, - protos.google.cloud.servicedirectory.v1beta1.IListServicesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1beta1.IService>, - callback?: PaginationCallback< - protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, - protos.google.cloud.servicedirectory.v1beta1.IListServicesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1beta1.IService>): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IService[], - protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest|null, - protos.google.cloud.servicedirectory.v1beta1.IListServicesResponse - ]>|void { + | protos.google.cloud.servicedirectory.v1beta1.IListServicesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1beta1.IService + >, + callback?: PaginationCallback< + protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, + | protos.google.cloud.servicedirectory.v1beta1.IListServicesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1beta1.IService + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IService[], + protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest | null, + protos.google.cloud.servicedirectory.v1beta1.IListServicesResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, - protos.google.cloud.servicedirectory.v1beta1.IListServicesResponse|null|undefined, - protos.google.cloud.servicedirectory.v1beta1.IService>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, + | protos.google.cloud.servicedirectory.v1beta1.IListServicesResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1beta1.IService + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listServices values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -2301,332 +3105,361 @@ export class RegistrationServiceClient { this._log.info('listServices request %j', request); return this.innerApiCalls .listServices(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.servicedirectory.v1beta1.IService[], - protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest|null, - protos.google.cloud.servicedirectory.v1beta1.IListServicesResponse - ]) => { - this._log.info('listServices values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.servicedirectory.v1beta1.IService[], + protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest | null, + protos.google.cloud.servicedirectory.v1beta1.IListServicesResponse, + ]) => { + this._log.info('listServices values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listServices`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the namespace whose services you'd - * like to list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. The default value is 100. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name` or `metadata.` for map field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `metadata.owner` returns services that have a metadata with the key - * `owner`, this is the same as `metadata:owner` - * * `metadata.protocol=gRPC` returns services that have key/value - * `protocol=gRPC` - * * - * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c` - * returns services that have name that is alphabetically later than the - * string, so "service-e" is returned but "service-a" is not - * * `metadata.owner!=sd AND metadata.foo=bar` returns services that have - * `owner` in metadata key but value is not `sd` AND have key/value - * `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that service - * doesn't have a field called "doesnotexist". Since the filter does not - * match any services, it returns no results - * * `attributes.managed_registration=true` returns services that are - * managed - * by a GCP product or service - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows value: `name` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Stream} - * An object stream which emits an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Service|Service} on 'data' event. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed. Note that it can affect your quota. - * We recommend using `listServicesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listServices`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the namespace whose services you'd + * like to list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. The default value is 100. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name` or `metadata.` for map field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `metadata.owner` returns services that have a metadata with the key + * `owner`, this is the same as `metadata:owner` + * * `metadata.protocol=gRPC` returns services that have key/value + * `protocol=gRPC` + * * + * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c` + * returns services that have name that is alphabetically later than the + * string, so "service-e" is returned but "service-a" is not + * * `metadata.owner!=sd AND metadata.foo=bar` returns services that have + * `owner` in metadata key but value is not `sd` AND have key/value + * `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that service + * doesn't have a field called "doesnotexist". Since the filter does not + * match any services, it returns no results + * * `attributes.managed_registration=true` returns services that are + * managed + * by a GCP product or service + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows value: `name` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Service|Service} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listServicesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listServicesStream( - request?: protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listServices']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listServices stream %j', request); return this.descriptors.page.listServices.createStream( this.innerApiCalls.listServices as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listServices`, but returns an iterable object. - * - * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the namespace whose services you'd - * like to list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. The default value is 100. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name` or `metadata.` for map field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `metadata.owner` returns services that have a metadata with the key - * `owner`, this is the same as `metadata:owner` - * * `metadata.protocol=gRPC` returns services that have key/value - * `protocol=gRPC` - * * - * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c` - * returns services that have name that is alphabetically later than the - * string, so "service-e" is returned but "service-a" is not - * * `metadata.owner!=sd AND metadata.foo=bar` returns services that have - * `owner` in metadata key but value is not `sd` AND have key/value - * `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that service - * doesn't have a field called "doesnotexist". Since the filter does not - * match any services, it returns no results - * * `attributes.managed_registration=true` returns services that are - * managed - * by a GCP product or service - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows value: `name` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Object} - * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.servicedirectory.v1beta1.Service|Service}. The API will be called under the hood as needed, once per the page, - * so you can stop the iteration when you don't need more results. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.list_services.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_ListServices_async - */ + /** + * Equivalent to `listServices`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the namespace whose services you'd + * like to list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. The default value is 100. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name` or `metadata.` for map field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `metadata.owner` returns services that have a metadata with the key + * `owner`, this is the same as `metadata:owner` + * * `metadata.protocol=gRPC` returns services that have key/value + * `protocol=gRPC` + * * + * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c` + * returns services that have name that is alphabetically later than the + * string, so "service-e" is returned but "service-a" is not + * * `metadata.owner!=sd AND metadata.foo=bar` returns services that have + * `owner` in metadata key but value is not `sd` AND have key/value + * `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that service + * doesn't have a field called "doesnotexist". Since the filter does not + * match any services, it returns no results + * * `attributes.managed_registration=true` returns services that are + * managed + * by a GCP product or service + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows value: `name` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.servicedirectory.v1beta1.Service|Service}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.list_services.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_ListServices_async + */ listServicesAsync( - request?: protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.servicedirectory.v1beta1.IListServicesRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listServices']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listServices iterate %j', request); return this.descriptors.page.listServices.asyncIterate( this.innerApiCalls['listServices'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } - /** - * Lists all endpoints. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the service whose endpoints you'd like to - * list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. The default value is 100. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name`, `address`, `port`, `metadata.` for map - * field, or `attributes.` for attributes field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `metadata.owner` returns endpoints that have a metadata with the key - * `owner`, this is the same as `metadata:owner` - * * `metadata.protocol=gRPC` returns endpoints that have key/value - * `protocol=gRPC` - * * `address=192.108.1.105` returns endpoints that have this address - * * `port>8080` returns endpoints that have port number larger than 8080 - * * - * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` - * returns endpoints that have name that is alphabetically later than the - * string, so "endpoint-e" is returned but "endpoint-a" is not - * * `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have - * `owner` in metadata key but value is not `sd` AND have key/value - * `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that endpoint - * doesn't have a field called "doesnotexist". Since the filter does not - * match any endpoints, it returns no results - * * `attributes.kubernetes_resource_type=KUBERNETES_RESOURCE_TYPE_CLUSTER_ - * IP` returns endpoints with the corresponding kubernetes_resource_type - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows values: `name`, `address`, `port` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of {@link protos.google.cloud.servicedirectory.v1beta1.Endpoint|Endpoint}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listEndpointsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Lists all endpoints. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the service whose endpoints you'd like to + * list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. The default value is 100. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name`, `address`, `port`, `metadata.` for map + * field, or `attributes.` for attributes field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `metadata.owner` returns endpoints that have a metadata with the key + * `owner`, this is the same as `metadata:owner` + * * `metadata.protocol=gRPC` returns endpoints that have key/value + * `protocol=gRPC` + * * `address=192.108.1.105` returns endpoints that have this address + * * `port>8080` returns endpoints that have port number larger than 8080 + * * + * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` + * returns endpoints that have name that is alphabetically later than the + * string, so "endpoint-e" is returned but "endpoint-a" is not + * * `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have + * `owner` in metadata key but value is not `sd` AND have key/value + * `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that endpoint + * doesn't have a field called "doesnotexist". Since the filter does not + * match any endpoints, it returns no results + * * `attributes.kubernetes_resource_type=KUBERNETES_RESOURCE_TYPE_CLUSTER_ + * IP` returns endpoints with the corresponding kubernetes_resource_type + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows values: `name`, `address`, `port` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of {@link protos.google.cloud.servicedirectory.v1beta1.Endpoint|Endpoint}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listEndpointsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listEndpoints( - request?: protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IEndpoint[], - protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest|null, - protos.google.cloud.servicedirectory.v1beta1.IListEndpointsResponse - ]>; + request?: protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IEndpoint[], + protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest | null, + protos.google.cloud.servicedirectory.v1beta1.IListEndpointsResponse, + ] + >; listEndpoints( - request: protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, - protos.google.cloud.servicedirectory.v1beta1.IListEndpointsResponse|null|undefined, - protos.google.cloud.servicedirectory.v1beta1.IEndpoint>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, + | protos.google.cloud.servicedirectory.v1beta1.IListEndpointsResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1beta1.IEndpoint + >, + ): void; listEndpoints( - request: protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, - callback: PaginationCallback< - protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, - protos.google.cloud.servicedirectory.v1beta1.IListEndpointsResponse|null|undefined, - protos.google.cloud.servicedirectory.v1beta1.IEndpoint>): void; + request: protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, + callback: PaginationCallback< + protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, + | protos.google.cloud.servicedirectory.v1beta1.IListEndpointsResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1beta1.IEndpoint + >, + ): void; listEndpoints( - request?: protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, - optionsOrCallback?: CallOptions|PaginationCallback< + request?: protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, - protos.google.cloud.servicedirectory.v1beta1.IListEndpointsResponse|null|undefined, - protos.google.cloud.servicedirectory.v1beta1.IEndpoint>, - callback?: PaginationCallback< - protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, - protos.google.cloud.servicedirectory.v1beta1.IListEndpointsResponse|null|undefined, - protos.google.cloud.servicedirectory.v1beta1.IEndpoint>): - Promise<[ - protos.google.cloud.servicedirectory.v1beta1.IEndpoint[], - protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest|null, - protos.google.cloud.servicedirectory.v1beta1.IListEndpointsResponse - ]>|void { + | protos.google.cloud.servicedirectory.v1beta1.IListEndpointsResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1beta1.IEndpoint + >, + callback?: PaginationCallback< + protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, + | protos.google.cloud.servicedirectory.v1beta1.IListEndpointsResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1beta1.IEndpoint + >, + ): Promise< + [ + protos.google.cloud.servicedirectory.v1beta1.IEndpoint[], + protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest | null, + protos.google.cloud.servicedirectory.v1beta1.IListEndpointsResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, - protos.google.cloud.servicedirectory.v1beta1.IListEndpointsResponse|null|undefined, - protos.google.cloud.servicedirectory.v1beta1.IEndpoint>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, + | protos.google.cloud.servicedirectory.v1beta1.IListEndpointsResponse + | null + | undefined, + protos.google.cloud.servicedirectory.v1beta1.IEndpoint + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listEndpoints values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -2635,207 +3468,212 @@ export class RegistrationServiceClient { this._log.info('listEndpoints request %j', request); return this.innerApiCalls .listEndpoints(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.servicedirectory.v1beta1.IEndpoint[], - protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest|null, - protos.google.cloud.servicedirectory.v1beta1.IListEndpointsResponse - ]) => { - this._log.info('listEndpoints values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.servicedirectory.v1beta1.IEndpoint[], + protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest | null, + protos.google.cloud.servicedirectory.v1beta1.IListEndpointsResponse, + ]) => { + this._log.info('listEndpoints values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listEndpoints`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the service whose endpoints you'd like to - * list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. The default value is 100. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name`, `address`, `port`, `metadata.` for map - * field, or `attributes.` for attributes field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `metadata.owner` returns endpoints that have a metadata with the key - * `owner`, this is the same as `metadata:owner` - * * `metadata.protocol=gRPC` returns endpoints that have key/value - * `protocol=gRPC` - * * `address=192.108.1.105` returns endpoints that have this address - * * `port>8080` returns endpoints that have port number larger than 8080 - * * - * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` - * returns endpoints that have name that is alphabetically later than the - * string, so "endpoint-e" is returned but "endpoint-a" is not - * * `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have - * `owner` in metadata key but value is not `sd` AND have key/value - * `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that endpoint - * doesn't have a field called "doesnotexist". Since the filter does not - * match any endpoints, it returns no results - * * `attributes.kubernetes_resource_type=KUBERNETES_RESOURCE_TYPE_CLUSTER_ - * IP` returns endpoints with the corresponding kubernetes_resource_type - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows values: `name`, `address`, `port` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Stream} - * An object stream which emits an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Endpoint|Endpoint} on 'data' event. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed. Note that it can affect your quota. - * We recommend using `listEndpointsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listEndpoints`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the service whose endpoints you'd like to + * list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. The default value is 100. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name`, `address`, `port`, `metadata.` for map + * field, or `attributes.` for attributes field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `metadata.owner` returns endpoints that have a metadata with the key + * `owner`, this is the same as `metadata:owner` + * * `metadata.protocol=gRPC` returns endpoints that have key/value + * `protocol=gRPC` + * * `address=192.108.1.105` returns endpoints that have this address + * * `port>8080` returns endpoints that have port number larger than 8080 + * * + * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` + * returns endpoints that have name that is alphabetically later than the + * string, so "endpoint-e" is returned but "endpoint-a" is not + * * `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have + * `owner` in metadata key but value is not `sd` AND have key/value + * `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that endpoint + * doesn't have a field called "doesnotexist". Since the filter does not + * match any endpoints, it returns no results + * * `attributes.kubernetes_resource_type=KUBERNETES_RESOURCE_TYPE_CLUSTER_ + * IP` returns endpoints with the corresponding kubernetes_resource_type + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows values: `name`, `address`, `port` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing {@link protos.google.cloud.servicedirectory.v1beta1.Endpoint|Endpoint} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listEndpointsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listEndpointsStream( - request?: protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listEndpoints']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listEndpoints stream %j', request); return this.descriptors.page.listEndpoints.createStream( this.innerApiCalls.listEndpoints as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listEndpoints`, but returns an iterable object. - * - * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The resource name of the service whose endpoints you'd like to - * list. - * @param {number} [request.pageSize] - * Optional. The maximum number of items to return. The default value is 100. - * @param {string} [request.pageToken] - * Optional. The next_page_token value returned from a previous List request, - * if any. - * @param {string} [request.filter] - * Optional. The filter to list results by. - * - * General `filter` string syntax: - * ` ()` - * - * * `` can be `name`, `address`, `port`, `metadata.` for map - * field, or `attributes.` for attributes field - * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` - * means `HAS`, and is roughly the same as `=` - * * `` must be the same data type as field - * * `` can be `AND`, `OR`, `NOT` - * - * Examples of valid filters: - * - * * `metadata.owner` returns endpoints that have a metadata with the key - * `owner`, this is the same as `metadata:owner` - * * `metadata.protocol=gRPC` returns endpoints that have key/value - * `protocol=gRPC` - * * `address=192.108.1.105` returns endpoints that have this address - * * `port>8080` returns endpoints that have port number larger than 8080 - * * - * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` - * returns endpoints that have name that is alphabetically later than the - * string, so "endpoint-e" is returned but "endpoint-a" is not - * * `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have - * `owner` in metadata key but value is not `sd` AND have key/value - * `foo=bar` - * * `doesnotexist.foo=bar` returns an empty list. Note that endpoint - * doesn't have a field called "doesnotexist". Since the filter does not - * match any endpoints, it returns no results - * * `attributes.kubernetes_resource_type=KUBERNETES_RESOURCE_TYPE_CLUSTER_ - * IP` returns endpoints with the corresponding kubernetes_resource_type - * - * For more information about filtering, see - * [API Filtering](https://aip.dev/160). - * @param {string} [request.orderBy] - * Optional. The order to list results by. - * - * General `order_by` string syntax: ` () (,)` - * - * * `` allows values: `name`, `address`, `port` - * * `` ascending or descending order by ``. If this is - * left blank, `asc` is used - * - * Note that an empty `order_by` string results in default order, which is - * order by `name` in ascending order. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Object} - * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.servicedirectory.v1beta1.Endpoint|Endpoint}. The API will be called under the hood as needed, once per the page, - * so you can stop the iteration when you don't need more results. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta1/registration_service.list_endpoints.js - * region_tag:servicedirectory_v1beta1_generated_RegistrationService_ListEndpoints_async - */ + /** + * Equivalent to `listEndpoints`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The resource name of the service whose endpoints you'd like to + * list. + * @param {number} [request.pageSize] + * Optional. The maximum number of items to return. The default value is 100. + * @param {string} [request.pageToken] + * Optional. The next_page_token value returned from a previous List request, + * if any. + * @param {string} [request.filter] + * Optional. The filter to list results by. + * + * General `filter` string syntax: + * ` ()` + * + * * `` can be `name`, `address`, `port`, `metadata.` for map + * field, or `attributes.` for attributes field + * * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + * means `HAS`, and is roughly the same as `=` + * * `` must be the same data type as field + * * `` can be `AND`, `OR`, `NOT` + * + * Examples of valid filters: + * + * * `metadata.owner` returns endpoints that have a metadata with the key + * `owner`, this is the same as `metadata:owner` + * * `metadata.protocol=gRPC` returns endpoints that have key/value + * `protocol=gRPC` + * * `address=192.108.1.105` returns endpoints that have this address + * * `port>8080` returns endpoints that have port number larger than 8080 + * * + * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` + * returns endpoints that have name that is alphabetically later than the + * string, so "endpoint-e" is returned but "endpoint-a" is not + * * `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have + * `owner` in metadata key but value is not `sd` AND have key/value + * `foo=bar` + * * `doesnotexist.foo=bar` returns an empty list. Note that endpoint + * doesn't have a field called "doesnotexist". Since the filter does not + * match any endpoints, it returns no results + * * `attributes.kubernetes_resource_type=KUBERNETES_RESOURCE_TYPE_CLUSTER_ + * IP` returns endpoints with the corresponding kubernetes_resource_type + * + * For more information about filtering, see + * [API Filtering](https://aip.dev/160). + * @param {string} [request.orderBy] + * Optional. The order to list results by. + * + * General `order_by` string syntax: ` () (,)` + * + * * `` allows values: `name`, `address`, `port` + * * `` ascending or descending order by ``. If this is + * left blank, `asc` is used + * + * Note that an empty `order_by` string results in default order, which is + * order by `name` in ascending order. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.servicedirectory.v1beta1.Endpoint|Endpoint}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta1/registration_service.list_endpoints.js + * region_tag:servicedirectory_v1beta1_generated_RegistrationService_ListEndpoints_async + */ listEndpointsAsync( - request?: protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listEndpoints']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listEndpoints iterate %j', request); return this.descriptors.page.listEndpoints.asyncIterate( this.innerApiCalls['listEndpoints'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } -/** + + /** * Gets information about a location. * * @param {Object} request @@ -2870,12 +3708,11 @@ export class RegistrationServiceClient { | null | undefined, {} | null | undefined - > + >, ): Promise { return this.locationsClient.getLocation(request, options, callback); } - -/** + /** * Lists information about the supported locations for this service. Returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. @@ -2908,7 +3745,7 @@ export class RegistrationServiceClient { */ listLocationsAsync( request: LocationProtos.google.cloud.location.IListLocationsRequest, - options?: CallOptions + options?: CallOptions, ): AsyncIterable { return this.locationsClient.listLocationsAsync(request, options); } @@ -2927,7 +3764,13 @@ export class RegistrationServiceClient { * @param {string} endpoint * @returns {string} Resource name string. */ - endpointPath(project:string,location:string,namespace:string,service:string,endpoint:string) { + endpointPath( + project: string, + location: string, + namespace: string, + service: string, + endpoint: string, + ) { return this.pathTemplates.endpointPathTemplate.render({ project: project, location: location, @@ -2967,7 +3810,8 @@ export class RegistrationServiceClient { * @returns {string} A string representing the namespace. */ matchNamespaceFromEndpointName(endpointName: string) { - return this.pathTemplates.endpointPathTemplate.match(endpointName).namespace; + return this.pathTemplates.endpointPathTemplate.match(endpointName) + .namespace; } /** @@ -2999,7 +3843,7 @@ export class RegistrationServiceClient { * @param {string} location * @returns {string} Resource name string. */ - locationPath(project:string,location:string) { + locationPath(project: string, location: string) { return this.pathTemplates.locationPathTemplate.render({ project: project, location: location, @@ -3036,7 +3880,7 @@ export class RegistrationServiceClient { * @param {string} namespace * @returns {string} Resource name string. */ - namespacePath(project:string,location:string,namespace:string) { + namespacePath(project: string, location: string, namespace: string) { return this.pathTemplates.namespacePathTemplate.render({ project: project, location: location, @@ -3052,7 +3896,8 @@ export class RegistrationServiceClient { * @returns {string} A string representing the project. */ matchProjectFromNamespaceName(namespaceName: string) { - return this.pathTemplates.namespacePathTemplate.match(namespaceName).project; + return this.pathTemplates.namespacePathTemplate.match(namespaceName) + .project; } /** @@ -3063,7 +3908,8 @@ export class RegistrationServiceClient { * @returns {string} A string representing the location. */ matchLocationFromNamespaceName(namespaceName: string) { - return this.pathTemplates.namespacePathTemplate.match(namespaceName).location; + return this.pathTemplates.namespacePathTemplate.match(namespaceName) + .location; } /** @@ -3074,7 +3920,8 @@ export class RegistrationServiceClient { * @returns {string} A string representing the namespace. */ matchNamespaceFromNamespaceName(namespaceName: string) { - return this.pathTemplates.namespacePathTemplate.match(namespaceName).namespace; + return this.pathTemplates.namespacePathTemplate.match(namespaceName) + .namespace; } /** @@ -3086,7 +3933,12 @@ export class RegistrationServiceClient { * @param {string} service * @returns {string} Resource name string. */ - servicePath(project:string,location:string,namespace:string,service:string) { + servicePath( + project: string, + location: string, + namespace: string, + service: string, + ) { return this.pathTemplates.servicePathTemplate.render({ project: project, location: location, @@ -3147,13 +3999,15 @@ export class RegistrationServiceClient { */ close(): Promise { if (this.registrationServiceStub && !this._terminated) { - return this.registrationServiceStub.then(stub => { + return this.registrationServiceStub.then((stub) => { this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); - this.locationsClient.close().catch(err => {throw err}); + this.locationsClient.close().catch((err) => { + throw err; + }); }); } return Promise.resolve(); } -} \ No newline at end of file +} diff --git a/packages/google-cloud-servicedirectory/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-servicedirectory/system-test/fixtures/sample/src/index.ts index 6f22f95ace4b..46b28d1725c2 100644 --- a/packages/google-cloud-servicedirectory/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-servicedirectory/system-test/fixtures/sample/src/index.ts @@ -16,13 +16,18 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -import {LookupServiceClient, RegistrationServiceClient} from '@google-cloud/service-directory'; +import { + LookupServiceClient, + RegistrationServiceClient, +} from '@google-cloud/service-directory'; // check that the client class type name can be used function doStuffWithLookupServiceClient(client: LookupServiceClient) { client.close(); } -function doStuffWithRegistrationServiceClient(client: RegistrationServiceClient) { +function doStuffWithRegistrationServiceClient( + client: RegistrationServiceClient, +) { client.close(); } diff --git a/packages/google-cloud-servicedirectory/system-test/install.ts b/packages/google-cloud-servicedirectory/system-test/install.ts index f66069aa3940..ccf167042d2e 100644 --- a/packages/google-cloud-servicedirectory/system-test/install.ts +++ b/packages/google-cloud-servicedirectory/system-test/install.ts @@ -16,34 +16,36 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -import {packNTest} from 'pack-n-play'; -import {readFileSync} from 'fs'; -import {describe, it} from 'mocha'; +import { packNTest } from 'pack-n-play'; +import { readFileSync } from 'fs'; +import { describe, it } from 'mocha'; describe('📦 pack-n-play test', () => { - - it('TypeScript code', async function() { + it('TypeScript code', async function () { this.timeout(300000); const options = { packageDir: process.cwd(), sample: { description: 'TypeScript user can use the type definitions', - ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString() - } + ts: readFileSync( + './system-test/fixtures/sample/src/index.ts', + ).toString(), + }, }; await packNTest(options); }); - it('JavaScript code', async function() { + it('JavaScript code', async function () { this.timeout(300000); const options = { packageDir: process.cwd(), sample: { description: 'JavaScript user can use the library', - cjs: readFileSync('./system-test/fixtures/sample/src/index.js').toString() - } + cjs: readFileSync( + './system-test/fixtures/sample/src/index.js', + ).toString(), + }, }; await packNTest(options); }); - }); diff --git a/packages/google-cloud-servicedirectory/test/gapic_lookup_service_v1.ts b/packages/google-cloud-servicedirectory/test/gapic_lookup_service_v1.ts index f20fd5a3a407..1eae82256cea 100644 --- a/packages/google-cloud-servicedirectory/test/gapic_lookup_service_v1.ts +++ b/packages/google-cloud-servicedirectory/test/gapic_lookup_service_v1.ts @@ -19,655 +19,824 @@ import * as protos from '../protos/protos'; import * as assert from 'assert'; import * as sinon from 'sinon'; -import {SinonStub} from 'sinon'; -import {describe, it} from 'mocha'; +import { SinonStub } from 'sinon'; +import { describe, it } from 'mocha'; import * as lookupserviceModule from '../src'; -import {protobuf, LocationProtos} from 'google-gax'; +import { protobuf, LocationProtos } from 'google-gax'; // Dynamically loaded proto JSON is needed to get the type information // to fill in default values for request objects -const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); +const root = protobuf.Root.fromJSON( + require('../protos/protos.json'), +).resolveAll(); // eslint-disable-next-line @typescript-eslint/no-unused-vars function getTypeDefaultValue(typeName: string, fields: string[]) { - let type = root.lookupType(typeName) as protobuf.Type; - for (const field of fields.slice(0, -1)) { - type = type.fields[field]?.resolvedType as protobuf.Type; - } - return type.fields[fields[fields.length - 1]]?.defaultValue; + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; } function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, { defaults: true }); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject, + ) as T; } function stubSimpleCall(response?: ResponseType, error?: Error) { - return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); } -function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { - return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error, +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); } -function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { - let counter = 0; - const asyncIterable = { - [Symbol.asyncIterator]() { - return { - async next() { - if (error) { - return Promise.reject(error); - } - if (counter >= responses!.length) { - return Promise.resolve({done: true, value: undefined}); - } - return Promise.resolve({done: false, value: responses![counter++]}); - } - }; - } - }; - return sinon.stub().returns(asyncIterable); +function stubAsyncIterationCall( + responses?: ResponseType[], + error?: Error, +) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({ done: true, value: undefined }); + } + return Promise.resolve({ done: false, value: responses![counter++] }); + }, + }; + }, + }; + return sinon.stub().returns(asyncIterable); } describe('v1.LookupServiceClient', () => { - describe('Common methods', () => { - it('has apiEndpoint', () => { - const client = new lookupserviceModule.v1.LookupServiceClient(); - const apiEndpoint = client.apiEndpoint; - assert.strictEqual(apiEndpoint, 'servicedirectory.googleapis.com'); - }); + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = new lookupserviceModule.v1.LookupServiceClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'servicedirectory.googleapis.com'); + }); - it('has universeDomain', () => { - const client = new lookupserviceModule.v1.LookupServiceClient(); - const universeDomain = client.universeDomain; - assert.strictEqual(universeDomain, "googleapis.com"); - }); + it('has universeDomain', () => { + const client = new lookupserviceModule.v1.LookupServiceClient(); + const universeDomain = client.universeDomain; + assert.strictEqual(universeDomain, 'googleapis.com'); + }); - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - it('throws DeprecationWarning if static servicePath is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const servicePath = lookupserviceModule.v1.LookupServiceClient.servicePath; - assert.strictEqual(servicePath, 'servicedirectory.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - - it('throws DeprecationWarning if static apiEndpoint is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const apiEndpoint = lookupserviceModule.v1.LookupServiceClient.apiEndpoint; - assert.strictEqual(apiEndpoint, 'servicedirectory.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - } - it('sets apiEndpoint according to universe domain camelCase', () => { - const client = new lookupserviceModule.v1.LookupServiceClient({universeDomain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicedirectory.example.com'); - }); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + it('throws DeprecationWarning if static servicePath is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const servicePath = + lookupserviceModule.v1.LookupServiceClient.servicePath; + assert.strictEqual(servicePath, 'servicedirectory.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = + lookupserviceModule.v1.LookupServiceClient.apiEndpoint; + assert.strictEqual(apiEndpoint, 'servicedirectory.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = new lookupserviceModule.v1.LookupServiceClient({ + universeDomain: 'example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'servicedirectory.example.com'); + }); - it('sets apiEndpoint according to universe domain snakeCase', () => { - const client = new lookupserviceModule.v1.LookupServiceClient({universe_domain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicedirectory.example.com'); - }); + it('sets apiEndpoint according to universe domain snakeCase', () => { + const client = new lookupserviceModule.v1.LookupServiceClient({ + universe_domain: 'example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'servicedirectory.example.com'); + }); - if (typeof process === 'object' && 'env' in process) { - describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { - it('sets apiEndpoint from environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new lookupserviceModule.v1.LookupServiceClient(); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicedirectory.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - - it('value configured in code has priority over environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new lookupserviceModule.v1.LookupServiceClient({universeDomain: 'configured.example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicedirectory.configured.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - }); - } - it('does not allow setting both universeDomain and universe_domain', () => { - assert.throws(() => { new lookupserviceModule.v1.LookupServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); + if (typeof process === 'object' && 'env' in process) { + describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { + it('sets apiEndpoint from environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = new lookupserviceModule.v1.LookupServiceClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'servicedirectory.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } }); - it('has port', () => { - const port = lookupserviceModule.v1.LookupServiceClient.port; - assert(port); - assert(typeof port === 'number'); + it('value configured in code has priority over environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = new lookupserviceModule.v1.LookupServiceClient({ + universeDomain: 'configured.example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual( + servicePath, + 'servicedirectory.configured.example.com', + ); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } }); - - it('should create a client with no option', () => { - const client = new lookupserviceModule.v1.LookupServiceClient(); - assert(client); + }); + } + it('does not allow setting both universeDomain and universe_domain', () => { + assert.throws(() => { + new lookupserviceModule.v1.LookupServiceClient({ + universe_domain: 'example.com', + universeDomain: 'example.net', }); + }); + }); - it('should create a client with gRPC fallback', () => { - const client = new lookupserviceModule.v1.LookupServiceClient({ - fallback: true, - }); - assert(client); - }); + it('has port', () => { + const port = lookupserviceModule.v1.LookupServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); - it('has initialize method and supports deferred initialization', async () => { - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.lookupServiceStub, undefined); - await client.initialize(); - assert(client.lookupServiceStub); - }); + it('should create a client with no option', () => { + const client = new lookupserviceModule.v1.LookupServiceClient(); + assert(client); + }); - it('has close method for the initialized client', done => { - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize().catch(err => {throw err}); - assert(client.lookupServiceStub); - client.close().then(() => { - done(); - }).catch(err => {throw err}); - }); + it('should create a client with gRPC fallback', () => { + const client = new lookupserviceModule.v1.LookupServiceClient({ + fallback: true, + }); + assert(client); + }); - it('has close method for the non-initialized client', done => { - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.lookupServiceStub, undefined); - client.close().then(() => { - done(); - }).catch(err => {throw err}); - }); + it('has initialize method and supports deferred initialization', async () => { + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.lookupServiceStub, undefined); + await client.initialize(); + assert(client.lookupServiceStub); + }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + it('has close method for the initialized client', (done) => { + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.initialize().catch((err) => { + throw err; + }); + assert(client.lookupServiceStub); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); + }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error|null, projectId?: string|null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } - }); - }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); + it('has close method for the non-initialized client', (done) => { + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.lookupServiceStub, undefined); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); }); - describe('resolveService', () => { - it('invokes resolveService without error', async () => { - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ResolveServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ResolveServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ResolveServiceResponse() - ); - client.innerApiCalls.resolveService = stubSimpleCall(expectedResponse); - const [response] = await client.resolveService(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.resolveService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.resolveService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); - it('invokes resolveService without error using callback', async () => { - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ResolveServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ResolveServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ResolveServiceResponse() - ); - client.innerApiCalls.resolveService = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.resolveService( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1.IResolveServiceResponse|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.resolveService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.resolveService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + }); + + describe('resolveService', () => { + it('invokes resolveService without error', async () => { + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ResolveServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ResolveServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ResolveServiceResponse(), + ); + client.innerApiCalls.resolveService = stubSimpleCall(expectedResponse); + const [response] = await client.resolveService(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.resolveService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.resolveService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes resolveService with error', async () => { - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ResolveServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ResolveServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.resolveService = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.resolveService(request), expectedError); - const actualRequest = (client.innerApiCalls.resolveService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.resolveService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes resolveService without error using callback', async () => { + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ResolveServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ResolveServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ResolveServiceResponse(), + ); + client.innerApiCalls.resolveService = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.resolveService( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1.IResolveServiceResponse | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.resolveService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.resolveService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes resolveService with closed client', async () => { - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ResolveServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ResolveServiceRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.resolveService(request), expectedError); - }); + it('invokes resolveService with error', async () => { + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ResolveServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ResolveServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.resolveService = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.resolveService(request), expectedError); + const actualRequest = ( + client.innerApiCalls.resolveService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.resolveService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('getLocation', () => { - it('invokes getLocation without error', async () => { - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = stubSimpleCall(expectedResponse); - const response = await client.getLocation(request, expectedOptions); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - it('invokes getLocation without error using callback', async () => { - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getLocation( - request, - expectedOptions, - ( - err?: Error | null, - result?: LocationProtos.google.cloud.location.ILocation | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0)); - }); - it('invokes getLocation with error', async () => { - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getLocation(request, expectedOptions), expectedError); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); + + it('invokes resolveService with closed client', async () => { + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ResolveServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ResolveServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.resolveService(request), expectedError); + }); + }); + describe('getLocation', () => { + it('invokes getLocation without error', async () => { + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = stubSimpleCall(expectedResponse); + const response = await client.getLocation(request, expectedOptions); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); }); - describe('listLocationsAsync', () => { - it('uses async iteration with listLocations without error', async () => { - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedResponse = [ - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - ]; - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - const iterable = client.listLocationsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + it('invokes getLocation without error using callback', async () => { + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getLocation( + request, + expectedOptions, + ( + err?: Error | null, + result?: LocationProtos.google.cloud.location.ILocation | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - it('uses async iteration with listLocations with error', async () => { - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedError = new Error('expected'); - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listLocationsAsync(request); - await assert.rejects(async () => { - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.locationsClient.getLocation as SinonStub).getCall(0)); + }); + it('invokes getLocation with error', async () => { + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.locationsClient.getLocation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.getLocation(request, expectedOptions), + expectedError, + ); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); + }); + }); + describe('listLocationsAsync', () => { + it('uses async iteration with listLocations without error', async () => { + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedResponse = [ + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + ]; + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + const iterable = client.listLocationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + it('uses async iteration with listLocations with error', async () => { + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('expected'); + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listLocationsAsync(request); + await assert.rejects(async () => { + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + }); + + describe('Path templates', () => { + describe('endpoint', async () => { + const fakePath = '/rendered/path/endpoint'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + namespace: 'namespaceValue', + service: 'serviceValue', + endpoint: 'endpointValue', + }; + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.endpointPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.endpointPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('endpointPath', () => { + const result = client.endpointPath( + 'projectValue', + 'locationValue', + 'namespaceValue', + 'serviceValue', + 'endpointValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.endpointPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromEndpointName', () => { + const result = client.matchProjectFromEndpointName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromEndpointName', () => { + const result = client.matchLocationFromEndpointName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchNamespaceFromEndpointName', () => { + const result = client.matchNamespaceFromEndpointName(fakePath); + assert.strictEqual(result, 'namespaceValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchServiceFromEndpointName', () => { + const result = client.matchServiceFromEndpointName(fakePath); + assert.strictEqual(result, 'serviceValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchEndpointFromEndpointName', () => { + const result = client.matchEndpointFromEndpointName(fakePath); + assert.strictEqual(result, 'endpointValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); }); - describe('Path templates', () => { - - describe('endpoint', async () => { - const fakePath = "/rendered/path/endpoint"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - namespace: "namespaceValue", - service: "serviceValue", - endpoint: "endpointValue", - }; - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.endpointPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.endpointPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('endpointPath', () => { - const result = client.endpointPath("projectValue", "locationValue", "namespaceValue", "serviceValue", "endpointValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.endpointPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromEndpointName', () => { - const result = client.matchProjectFromEndpointName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromEndpointName', () => { - const result = client.matchLocationFromEndpointName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchNamespaceFromEndpointName', () => { - const result = client.matchNamespaceFromEndpointName(fakePath); - assert.strictEqual(result, "namespaceValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchServiceFromEndpointName', () => { - const result = client.matchServiceFromEndpointName(fakePath); - assert.strictEqual(result, "serviceValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchEndpointFromEndpointName', () => { - const result = client.matchEndpointFromEndpointName(fakePath); - assert.strictEqual(result, "endpointValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('namespace', async () => { - const fakePath = "/rendered/path/namespace"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - namespace: "namespaceValue", - }; - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.namespacePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.namespacePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('namespacePath', () => { - const result = client.namespacePath("projectValue", "locationValue", "namespaceValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.namespacePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromNamespaceName', () => { - const result = client.matchProjectFromNamespaceName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.namespacePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromNamespaceName', () => { - const result = client.matchLocationFromNamespaceName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.namespacePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchNamespaceFromNamespaceName', () => { - const result = client.matchNamespaceFromNamespaceName(fakePath); - assert.strictEqual(result, "namespaceValue"); - assert((client.pathTemplates.namespacePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + describe('namespace', async () => { + const fakePath = '/rendered/path/namespace'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + namespace: 'namespaceValue', + }; + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.namespacePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.namespacePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('namespacePath', () => { + const result = client.namespacePath( + 'projectValue', + 'locationValue', + 'namespaceValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.namespacePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromNamespaceName', () => { + const result = client.matchProjectFromNamespaceName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.namespacePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromNamespaceName', () => { + const result = client.matchLocationFromNamespaceName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.namespacePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchNamespaceFromNamespaceName', () => { + const result = client.matchNamespaceFromNamespaceName(fakePath); + assert.strictEqual(result, 'namespaceValue'); + assert( + (client.pathTemplates.namespacePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - describe('service', async () => { - const fakePath = "/rendered/path/service"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - namespace: "namespaceValue", - service: "serviceValue", - }; - const client = new lookupserviceModule.v1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.servicePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.servicePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('servicePath', () => { - const result = client.servicePath("projectValue", "locationValue", "namespaceValue", "serviceValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.servicePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromServiceName', () => { - const result = client.matchProjectFromServiceName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.servicePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromServiceName', () => { - const result = client.matchLocationFromServiceName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.servicePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchNamespaceFromServiceName', () => { - const result = client.matchNamespaceFromServiceName(fakePath); - assert.strictEqual(result, "namespaceValue"); - assert((client.pathTemplates.servicePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchServiceFromServiceName', () => { - const result = client.matchServiceFromServiceName(fakePath); - assert.strictEqual(result, "serviceValue"); - assert((client.pathTemplates.servicePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + describe('service', async () => { + const fakePath = '/rendered/path/service'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + namespace: 'namespaceValue', + service: 'serviceValue', + }; + const client = new lookupserviceModule.v1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.servicePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.servicePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('servicePath', () => { + const result = client.servicePath( + 'projectValue', + 'locationValue', + 'namespaceValue', + 'serviceValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.servicePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromServiceName', () => { + const result = client.matchProjectFromServiceName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromServiceName', () => { + const result = client.matchLocationFromServiceName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchNamespaceFromServiceName', () => { + const result = client.matchNamespaceFromServiceName(fakePath); + assert.strictEqual(result, 'namespaceValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchServiceFromServiceName', () => { + const result = client.matchServiceFromServiceName(fakePath); + assert.strictEqual(result, 'serviceValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); }); + }); }); diff --git a/packages/google-cloud-servicedirectory/test/gapic_lookup_service_v1beta1.ts b/packages/google-cloud-servicedirectory/test/gapic_lookup_service_v1beta1.ts index 65411791b5f2..bbc208ba31c8 100644 --- a/packages/google-cloud-servicedirectory/test/gapic_lookup_service_v1beta1.ts +++ b/packages/google-cloud-servicedirectory/test/gapic_lookup_service_v1beta1.ts @@ -19,655 +19,824 @@ import * as protos from '../protos/protos'; import * as assert from 'assert'; import * as sinon from 'sinon'; -import {SinonStub} from 'sinon'; -import {describe, it} from 'mocha'; +import { SinonStub } from 'sinon'; +import { describe, it } from 'mocha'; import * as lookupserviceModule from '../src'; -import {protobuf, LocationProtos} from 'google-gax'; +import { protobuf, LocationProtos } from 'google-gax'; // Dynamically loaded proto JSON is needed to get the type information // to fill in default values for request objects -const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); +const root = protobuf.Root.fromJSON( + require('../protos/protos.json'), +).resolveAll(); // eslint-disable-next-line @typescript-eslint/no-unused-vars function getTypeDefaultValue(typeName: string, fields: string[]) { - let type = root.lookupType(typeName) as protobuf.Type; - for (const field of fields.slice(0, -1)) { - type = type.fields[field]?.resolvedType as protobuf.Type; - } - return type.fields[fields[fields.length - 1]]?.defaultValue; + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; } function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, { defaults: true }); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject, + ) as T; } function stubSimpleCall(response?: ResponseType, error?: Error) { - return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); } -function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { - return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error, +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); } -function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { - let counter = 0; - const asyncIterable = { - [Symbol.asyncIterator]() { - return { - async next() { - if (error) { - return Promise.reject(error); - } - if (counter >= responses!.length) { - return Promise.resolve({done: true, value: undefined}); - } - return Promise.resolve({done: false, value: responses![counter++]}); - } - }; - } - }; - return sinon.stub().returns(asyncIterable); +function stubAsyncIterationCall( + responses?: ResponseType[], + error?: Error, +) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({ done: true, value: undefined }); + } + return Promise.resolve({ done: false, value: responses![counter++] }); + }, + }; + }, + }; + return sinon.stub().returns(asyncIterable); } describe('v1beta1.LookupServiceClient', () => { - describe('Common methods', () => { - it('has apiEndpoint', () => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient(); - const apiEndpoint = client.apiEndpoint; - assert.strictEqual(apiEndpoint, 'servicedirectory.googleapis.com'); - }); + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'servicedirectory.googleapis.com'); + }); - it('has universeDomain', () => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient(); - const universeDomain = client.universeDomain; - assert.strictEqual(universeDomain, "googleapis.com"); - }); + it('has universeDomain', () => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient(); + const universeDomain = client.universeDomain; + assert.strictEqual(universeDomain, 'googleapis.com'); + }); - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - it('throws DeprecationWarning if static servicePath is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const servicePath = lookupserviceModule.v1beta1.LookupServiceClient.servicePath; - assert.strictEqual(servicePath, 'servicedirectory.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - - it('throws DeprecationWarning if static apiEndpoint is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const apiEndpoint = lookupserviceModule.v1beta1.LookupServiceClient.apiEndpoint; - assert.strictEqual(apiEndpoint, 'servicedirectory.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - } - it('sets apiEndpoint according to universe domain camelCase', () => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient({universeDomain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicedirectory.example.com'); - }); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + it('throws DeprecationWarning if static servicePath is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const servicePath = + lookupserviceModule.v1beta1.LookupServiceClient.servicePath; + assert.strictEqual(servicePath, 'servicedirectory.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = + lookupserviceModule.v1beta1.LookupServiceClient.apiEndpoint; + assert.strictEqual(apiEndpoint, 'servicedirectory.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + universeDomain: 'example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'servicedirectory.example.com'); + }); - it('sets apiEndpoint according to universe domain snakeCase', () => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient({universe_domain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicedirectory.example.com'); - }); + it('sets apiEndpoint according to universe domain snakeCase', () => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + universe_domain: 'example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'servicedirectory.example.com'); + }); - if (typeof process === 'object' && 'env' in process) { - describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { - it('sets apiEndpoint from environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new lookupserviceModule.v1beta1.LookupServiceClient(); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicedirectory.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - - it('value configured in code has priority over environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new lookupserviceModule.v1beta1.LookupServiceClient({universeDomain: 'configured.example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicedirectory.configured.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - }); - } - it('does not allow setting both universeDomain and universe_domain', () => { - assert.throws(() => { new lookupserviceModule.v1beta1.LookupServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); + if (typeof process === 'object' && 'env' in process) { + describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { + it('sets apiEndpoint from environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = new lookupserviceModule.v1beta1.LookupServiceClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'servicedirectory.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } }); - it('has port', () => { - const port = lookupserviceModule.v1beta1.LookupServiceClient.port; - assert(port); - assert(typeof port === 'number'); + it('value configured in code has priority over environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + universeDomain: 'configured.example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual( + servicePath, + 'servicedirectory.configured.example.com', + ); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } }); - - it('should create a client with no option', () => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient(); - assert(client); + }); + } + it('does not allow setting both universeDomain and universe_domain', () => { + assert.throws(() => { + new lookupserviceModule.v1beta1.LookupServiceClient({ + universe_domain: 'example.com', + universeDomain: 'example.net', }); + }); + }); - it('should create a client with gRPC fallback', () => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - fallback: true, - }); - assert(client); - }); + it('has port', () => { + const port = lookupserviceModule.v1beta1.LookupServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); - it('has initialize method and supports deferred initialization', async () => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.lookupServiceStub, undefined); - await client.initialize(); - assert(client.lookupServiceStub); - }); + it('should create a client with no option', () => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient(); + assert(client); + }); - it('has close method for the initialized client', done => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize().catch(err => {throw err}); - assert(client.lookupServiceStub); - client.close().then(() => { - done(); - }).catch(err => {throw err}); - }); + it('should create a client with gRPC fallback', () => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + fallback: true, + }); + assert(client); + }); - it('has close method for the non-initialized client', done => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.lookupServiceStub, undefined); - client.close().then(() => { - done(); - }).catch(err => {throw err}); - }); + it('has initialize method and supports deferred initialization', async () => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.lookupServiceStub, undefined); + await client.initialize(); + assert(client.lookupServiceStub); + }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + it('has close method for the initialized client', (done) => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.initialize().catch((err) => { + throw err; + }); + assert(client.lookupServiceStub); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); + }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error|null, projectId?: string|null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } - }); - }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); + it('has close method for the non-initialized client', (done) => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.lookupServiceStub, undefined); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); }); - describe('resolveService', () => { - it('invokes resolveService without error', async () => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ResolveServiceResponse() - ); - client.innerApiCalls.resolveService = stubSimpleCall(expectedResponse); - const [response] = await client.resolveService(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.resolveService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.resolveService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); - it('invokes resolveService without error using callback', async () => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ResolveServiceResponse() - ); - client.innerApiCalls.resolveService = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.resolveService( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.resolveService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.resolveService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + }); + + describe('resolveService', () => { + it('invokes resolveService without error', async () => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ResolveServiceResponse(), + ); + client.innerApiCalls.resolveService = stubSimpleCall(expectedResponse); + const [response] = await client.resolveService(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.resolveService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.resolveService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes resolveService with error', async () => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.resolveService = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.resolveService(request), expectedError); - const actualRequest = (client.innerApiCalls.resolveService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.resolveService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes resolveService without error using callback', async () => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ResolveServiceResponse(), + ); + client.innerApiCalls.resolveService = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.resolveService( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1beta1.IResolveServiceResponse | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.resolveService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.resolveService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes resolveService with closed client', async () => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.resolveService(request), expectedError); - }); + it('invokes resolveService with error', async () => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.resolveService = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.resolveService(request), expectedError); + const actualRequest = ( + client.innerApiCalls.resolveService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.resolveService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('getLocation', () => { - it('invokes getLocation without error', async () => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = stubSimpleCall(expectedResponse); - const response = await client.getLocation(request, expectedOptions); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - it('invokes getLocation without error using callback', async () => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getLocation( - request, - expectedOptions, - ( - err?: Error | null, - result?: LocationProtos.google.cloud.location.ILocation | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0)); - }); - it('invokes getLocation with error', async () => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getLocation(request, expectedOptions), expectedError); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); + + it('invokes resolveService with closed client', async () => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ResolveServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.resolveService(request), expectedError); + }); + }); + describe('getLocation', () => { + it('invokes getLocation without error', async () => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = stubSimpleCall(expectedResponse); + const response = await client.getLocation(request, expectedOptions); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); }); - describe('listLocationsAsync', () => { - it('uses async iteration with listLocations without error', async () => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedResponse = [ - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - ]; - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - const iterable = client.listLocationsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + it('invokes getLocation without error using callback', async () => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getLocation( + request, + expectedOptions, + ( + err?: Error | null, + result?: LocationProtos.google.cloud.location.ILocation | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - it('uses async iteration with listLocations with error', async () => { - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedError = new Error('expected'); - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listLocationsAsync(request); - await assert.rejects(async () => { - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.locationsClient.getLocation as SinonStub).getCall(0)); + }); + it('invokes getLocation with error', async () => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.locationsClient.getLocation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.getLocation(request, expectedOptions), + expectedError, + ); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); + }); + }); + describe('listLocationsAsync', () => { + it('uses async iteration with listLocations without error', async () => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedResponse = [ + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + ]; + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + const iterable = client.listLocationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + it('uses async iteration with listLocations with error', async () => { + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('expected'); + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listLocationsAsync(request); + await assert.rejects(async () => { + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + }); + + describe('Path templates', () => { + describe('endpoint', async () => { + const fakePath = '/rendered/path/endpoint'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + namespace: 'namespaceValue', + service: 'serviceValue', + endpoint: 'endpointValue', + }; + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.endpointPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.endpointPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('endpointPath', () => { + const result = client.endpointPath( + 'projectValue', + 'locationValue', + 'namespaceValue', + 'serviceValue', + 'endpointValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.endpointPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromEndpointName', () => { + const result = client.matchProjectFromEndpointName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromEndpointName', () => { + const result = client.matchLocationFromEndpointName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchNamespaceFromEndpointName', () => { + const result = client.matchNamespaceFromEndpointName(fakePath); + assert.strictEqual(result, 'namespaceValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchServiceFromEndpointName', () => { + const result = client.matchServiceFromEndpointName(fakePath); + assert.strictEqual(result, 'serviceValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchEndpointFromEndpointName', () => { + const result = client.matchEndpointFromEndpointName(fakePath); + assert.strictEqual(result, 'endpointValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); }); - describe('Path templates', () => { - - describe('endpoint', async () => { - const fakePath = "/rendered/path/endpoint"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - namespace: "namespaceValue", - service: "serviceValue", - endpoint: "endpointValue", - }; - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.endpointPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.endpointPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('endpointPath', () => { - const result = client.endpointPath("projectValue", "locationValue", "namespaceValue", "serviceValue", "endpointValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.endpointPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromEndpointName', () => { - const result = client.matchProjectFromEndpointName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromEndpointName', () => { - const result = client.matchLocationFromEndpointName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchNamespaceFromEndpointName', () => { - const result = client.matchNamespaceFromEndpointName(fakePath); - assert.strictEqual(result, "namespaceValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchServiceFromEndpointName', () => { - const result = client.matchServiceFromEndpointName(fakePath); - assert.strictEqual(result, "serviceValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchEndpointFromEndpointName', () => { - const result = client.matchEndpointFromEndpointName(fakePath); - assert.strictEqual(result, "endpointValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('namespace', async () => { - const fakePath = "/rendered/path/namespace"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - namespace: "namespaceValue", - }; - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.namespacePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.namespacePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('namespacePath', () => { - const result = client.namespacePath("projectValue", "locationValue", "namespaceValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.namespacePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromNamespaceName', () => { - const result = client.matchProjectFromNamespaceName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.namespacePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromNamespaceName', () => { - const result = client.matchLocationFromNamespaceName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.namespacePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchNamespaceFromNamespaceName', () => { - const result = client.matchNamespaceFromNamespaceName(fakePath); - assert.strictEqual(result, "namespaceValue"); - assert((client.pathTemplates.namespacePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + describe('namespace', async () => { + const fakePath = '/rendered/path/namespace'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + namespace: 'namespaceValue', + }; + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.namespacePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.namespacePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('namespacePath', () => { + const result = client.namespacePath( + 'projectValue', + 'locationValue', + 'namespaceValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.namespacePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromNamespaceName', () => { + const result = client.matchProjectFromNamespaceName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.namespacePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromNamespaceName', () => { + const result = client.matchLocationFromNamespaceName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.namespacePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchNamespaceFromNamespaceName', () => { + const result = client.matchNamespaceFromNamespaceName(fakePath); + assert.strictEqual(result, 'namespaceValue'); + assert( + (client.pathTemplates.namespacePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - describe('service', async () => { - const fakePath = "/rendered/path/service"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - namespace: "namespaceValue", - service: "serviceValue", - }; - const client = new lookupserviceModule.v1beta1.LookupServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.servicePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.servicePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('servicePath', () => { - const result = client.servicePath("projectValue", "locationValue", "namespaceValue", "serviceValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.servicePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromServiceName', () => { - const result = client.matchProjectFromServiceName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.servicePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromServiceName', () => { - const result = client.matchLocationFromServiceName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.servicePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchNamespaceFromServiceName', () => { - const result = client.matchNamespaceFromServiceName(fakePath); - assert.strictEqual(result, "namespaceValue"); - assert((client.pathTemplates.servicePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchServiceFromServiceName', () => { - const result = client.matchServiceFromServiceName(fakePath); - assert.strictEqual(result, "serviceValue"); - assert((client.pathTemplates.servicePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + describe('service', async () => { + const fakePath = '/rendered/path/service'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + namespace: 'namespaceValue', + service: 'serviceValue', + }; + const client = new lookupserviceModule.v1beta1.LookupServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.servicePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.servicePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('servicePath', () => { + const result = client.servicePath( + 'projectValue', + 'locationValue', + 'namespaceValue', + 'serviceValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.servicePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromServiceName', () => { + const result = client.matchProjectFromServiceName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromServiceName', () => { + const result = client.matchLocationFromServiceName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchNamespaceFromServiceName', () => { + const result = client.matchNamespaceFromServiceName(fakePath); + assert.strictEqual(result, 'namespaceValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchServiceFromServiceName', () => { + const result = client.matchServiceFromServiceName(fakePath); + assert.strictEqual(result, 'serviceValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); }); + }); }); diff --git a/packages/google-cloud-servicedirectory/test/gapic_registration_service_v1.ts b/packages/google-cloud-servicedirectory/test/gapic_registration_service_v1.ts index 9770643d388d..bb7a5eccaef4 100644 --- a/packages/google-cloud-servicedirectory/test/gapic_registration_service_v1.ts +++ b/packages/google-cloud-servicedirectory/test/gapic_registration_service_v1.ts @@ -19,2979 +19,3958 @@ import * as protos from '../protos/protos'; import * as assert from 'assert'; import * as sinon from 'sinon'; -import {SinonStub} from 'sinon'; -import {describe, it} from 'mocha'; +import { SinonStub } from 'sinon'; +import { describe, it } from 'mocha'; import * as registrationserviceModule from '../src'; -import {PassThrough} from 'stream'; +import { PassThrough } from 'stream'; -import {protobuf, LocationProtos} from 'google-gax'; +import { protobuf, LocationProtos } from 'google-gax'; // Dynamically loaded proto JSON is needed to get the type information // to fill in default values for request objects -const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); +const root = protobuf.Root.fromJSON( + require('../protos/protos.json'), +).resolveAll(); // eslint-disable-next-line @typescript-eslint/no-unused-vars function getTypeDefaultValue(typeName: string, fields: string[]) { - let type = root.lookupType(typeName) as protobuf.Type; - for (const field of fields.slice(0, -1)) { - type = type.fields[field]?.resolvedType as protobuf.Type; - } - return type.fields[fields[fields.length - 1]]?.defaultValue; + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; } function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, { defaults: true }); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject, + ) as T; } function stubSimpleCall(response?: ResponseType, error?: Error) { - return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); } -function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { - return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error, +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); } -function stubPageStreamingCall(responses?: ResponseType[], error?: Error) { - const pagingStub = sinon.stub(); - if (responses) { - for (let i = 0; i < responses.length; ++i) { - pagingStub.onCall(i).callsArgWith(2, null, responses[i]); - } +function stubPageStreamingCall( + responses?: ResponseType[], + error?: Error, +) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); } - const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub; - const mockStream = new PassThrough({ - objectMode: true, - transform: transformStub, - }); - // trigger as many responses as needed - if (responses) { - for (let i = 0; i < responses.length; ++i) { - setImmediate(() => { mockStream.write({}); }); - } - setImmediate(() => { mockStream.end(); }); - } else { - setImmediate(() => { mockStream.write({}); }); - setImmediate(() => { mockStream.end(); }); + } + const transformStub = error + ? sinon.stub().callsArgWith(2, error) + : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { + mockStream.write({}); + }); } - return sinon.stub().returns(mockStream); + setImmediate(() => { + mockStream.end(); + }); + } else { + setImmediate(() => { + mockStream.write({}); + }); + setImmediate(() => { + mockStream.end(); + }); + } + return sinon.stub().returns(mockStream); } -function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { - let counter = 0; - const asyncIterable = { - [Symbol.asyncIterator]() { - return { - async next() { - if (error) { - return Promise.reject(error); - } - if (counter >= responses!.length) { - return Promise.resolve({done: true, value: undefined}); - } - return Promise.resolve({done: false, value: responses![counter++]}); - } - }; - } - }; - return sinon.stub().returns(asyncIterable); +function stubAsyncIterationCall( + responses?: ResponseType[], + error?: Error, +) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({ done: true, value: undefined }); + } + return Promise.resolve({ done: false, value: responses![counter++] }); + }, + }; + }, + }; + return sinon.stub().returns(asyncIterable); } describe('v1.RegistrationServiceClient', () => { - describe('Common methods', () => { - it('has apiEndpoint', () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient(); - const apiEndpoint = client.apiEndpoint; - assert.strictEqual(apiEndpoint, 'servicedirectory.googleapis.com'); - }); - - it('has universeDomain', () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient(); - const universeDomain = client.universeDomain; - assert.strictEqual(universeDomain, "googleapis.com"); - }); - - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - it('throws DeprecationWarning if static servicePath is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const servicePath = registrationserviceModule.v1.RegistrationServiceClient.servicePath; - assert.strictEqual(servicePath, 'servicedirectory.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - - it('throws DeprecationWarning if static apiEndpoint is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const apiEndpoint = registrationserviceModule.v1.RegistrationServiceClient.apiEndpoint; - assert.strictEqual(apiEndpoint, 'servicedirectory.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - } - it('sets apiEndpoint according to universe domain camelCase', () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({universeDomain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicedirectory.example.com'); - }); - - it('sets apiEndpoint according to universe domain snakeCase', () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({universe_domain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicedirectory.example.com'); - }); - - if (typeof process === 'object' && 'env' in process) { - describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { - it('sets apiEndpoint from environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new registrationserviceModule.v1.RegistrationServiceClient(); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicedirectory.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - - it('value configured in code has priority over environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new registrationserviceModule.v1.RegistrationServiceClient({universeDomain: 'configured.example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicedirectory.configured.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - }); - } - it('does not allow setting both universeDomain and universe_domain', () => { - assert.throws(() => { new registrationserviceModule.v1.RegistrationServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); - }); - - it('has port', () => { - const port = registrationserviceModule.v1.RegistrationServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - fallback: true, - }); - assert(client); - }); - - it('has initialize method and supports deferred initialization', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.registrationServiceStub, undefined); - await client.initialize(); - assert(client.registrationServiceStub); - }); - - it('has close method for the initialized client', done => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize().catch(err => {throw err}); - assert(client.registrationServiceStub); - client.close().then(() => { - done(); - }).catch(err => {throw err}); - }); - - it('has close method for the non-initialized client', done => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.registrationServiceStub, undefined); - client.close().then(() => { - done(); - }).catch(err => {throw err}); - }); - - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error|null, projectId?: string|null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } - }); - }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); - }); + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = + new registrationserviceModule.v1.RegistrationServiceClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'servicedirectory.googleapis.com'); }); - describe('createNamespace', () => { - it('invokes createNamespace without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.CreateNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.CreateNamespaceRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Namespace() - ); - client.innerApiCalls.createNamespace = stubSimpleCall(expectedResponse); - const [response] = await client.createNamespace(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createNamespace without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.CreateNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.CreateNamespaceRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Namespace() - ); - client.innerApiCalls.createNamespace = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createNamespace( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1.INamespace|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createNamespace with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.CreateNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.CreateNamespaceRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createNamespace = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.createNamespace(request), expectedError); - const actualRequest = (client.innerApiCalls.createNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('has universeDomain', () => { + const client = + new registrationserviceModule.v1.RegistrationServiceClient(); + const universeDomain = client.universeDomain; + assert.strictEqual(universeDomain, 'googleapis.com'); + }); - it('invokes createNamespace with closed client', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.CreateNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.CreateNamespaceRequest', ['parent']); - request.parent = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.createNamespace(request), expectedError); - }); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + it('throws DeprecationWarning if static servicePath is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const servicePath = + registrationserviceModule.v1.RegistrationServiceClient.servicePath; + assert.strictEqual(servicePath, 'servicedirectory.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = + registrationserviceModule.v1.RegistrationServiceClient.apiEndpoint; + assert.strictEqual(apiEndpoint, 'servicedirectory.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { universeDomain: 'example.com' }, + ); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'servicedirectory.example.com'); }); - describe('getNamespace', () => { - it('invokes getNamespace without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.GetNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.GetNamespaceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Namespace() - ); - client.innerApiCalls.getNamespace = stubSimpleCall(expectedResponse); - const [response] = await client.getNamespace(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('sets apiEndpoint according to universe domain snakeCase', () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { universe_domain: 'example.com' }, + ); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'servicedirectory.example.com'); + }); - it('invokes getNamespace without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.GetNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.GetNamespaceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Namespace() - ); - client.innerApiCalls.getNamespace = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getNamespace( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1.INamespace|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + if (typeof process === 'object' && 'env' in process) { + describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { + it('sets apiEndpoint from environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = + new registrationserviceModule.v1.RegistrationServiceClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'servicedirectory.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + + it('value configured in code has priority over environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = + new registrationserviceModule.v1.RegistrationServiceClient({ + universeDomain: 'configured.example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual( + servicePath, + 'servicedirectory.configured.example.com', + ); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + }); + } + it('does not allow setting both universeDomain and universe_domain', () => { + assert.throws(() => { + new registrationserviceModule.v1.RegistrationServiceClient({ + universe_domain: 'example.com', + universeDomain: 'example.net', }); + }); + }); - it('invokes getNamespace with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.GetNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.GetNamespaceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getNamespace = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getNamespace(request), expectedError); - const actualRequest = (client.innerApiCalls.getNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('has port', () => { + const port = registrationserviceModule.v1.RegistrationServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); - it('invokes getNamespace with closed client', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.GetNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.GetNamespaceRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getNamespace(request), expectedError); - }); + it('should create a client with no option', () => { + const client = + new registrationserviceModule.v1.RegistrationServiceClient(); + assert(client); }); - describe('updateNamespace', () => { - it('invokes updateNamespace without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.UpdateNamespaceRequest() - ); - request.namespace ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.UpdateNamespaceRequest', ['namespace', 'name']); - request.namespace.name = defaultValue1; - const expectedHeaderRequestParams = `namespace.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Namespace() - ); - client.innerApiCalls.updateNamespace = stubSimpleCall(expectedResponse); - const [response] = await client.updateNamespace(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('should create a client with gRPC fallback', () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + fallback: true, + }, + ); + assert(client); + }); - it('invokes updateNamespace without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.UpdateNamespaceRequest() - ); - request.namespace ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.UpdateNamespaceRequest', ['namespace', 'name']); - request.namespace.name = defaultValue1; - const expectedHeaderRequestParams = `namespace.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Namespace() - ); - client.innerApiCalls.updateNamespace = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateNamespace( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1.INamespace|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('has initialize method and supports deferred initialization', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + assert.strictEqual(client.registrationServiceStub, undefined); + await client.initialize(); + assert(client.registrationServiceStub); + }); - it('invokes updateNamespace with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.UpdateNamespaceRequest() - ); - request.namespace ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.UpdateNamespaceRequest', ['namespace', 'name']); - request.namespace.name = defaultValue1; - const expectedHeaderRequestParams = `namespace.name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateNamespace = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.updateNamespace(request), expectedError); - const actualRequest = (client.innerApiCalls.updateNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + it('has close method for the initialized client', (done) => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + client.initialize().catch((err) => { + throw err; + }); + assert(client.registrationServiceStub); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); + }); - it('invokes updateNamespace with closed client', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.UpdateNamespaceRequest() - ); - request.namespace ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.UpdateNamespaceRequest', ['namespace', 'name']); - request.namespace.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.updateNamespace(request), expectedError); + it('has close method for the non-initialized client', (done) => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + assert.strictEqual(client.registrationServiceStub, undefined); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); }); - describe('deleteNamespace', () => { - it('invokes deleteNamespace without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.DeleteNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.DeleteNamespaceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteNamespace = stubSimpleCall(expectedResponse); - const [response] = await client.deleteNamespace(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); - it('invokes deleteNamespace without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.DeleteNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.DeleteNamespaceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteNamespace = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteNamespace( - request, - (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + }); + + describe('createNamespace', () => { + it('invokes createNamespace without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.CreateNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.CreateNamespaceRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ); + client.innerApiCalls.createNamespace = stubSimpleCall(expectedResponse); + const [response] = await client.createNamespace(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes deleteNamespace with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.DeleteNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.DeleteNamespaceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteNamespace = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteNamespace(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes createNamespace without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.CreateNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.CreateNamespaceRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ); + client.innerApiCalls.createNamespace = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createNamespace( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1.INamespace | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes deleteNamespace with closed client', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.DeleteNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.DeleteNamespaceRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.deleteNamespace(request), expectedError); - }); + it('invokes createNamespace with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.CreateNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.CreateNamespaceRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createNamespace = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.createNamespace(request), expectedError); + const actualRequest = ( + client.innerApiCalls.createNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('createService', () => { - it('invokes createService without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.CreateServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.CreateServiceRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Service() - ); - client.innerApiCalls.createService = stubSimpleCall(expectedResponse); - const [response] = await client.createService(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes createNamespace with closed client', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.CreateNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.CreateNamespaceRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.createNamespace(request), expectedError); + }); + }); + + describe('getNamespace', () => { + it('invokes getNamespace without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.GetNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.GetNamespaceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ); + client.innerApiCalls.getNamespace = stubSimpleCall(expectedResponse); + const [response] = await client.getNamespace(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes createService without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.CreateServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.CreateServiceRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Service() - ); - client.innerApiCalls.createService = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createService( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1.IService|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getNamespace without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.GetNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.GetNamespaceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ); + client.innerApiCalls.getNamespace = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getNamespace( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1.INamespace | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes createService with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.CreateServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.CreateServiceRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createService = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.createService(request), expectedError); - const actualRequest = (client.innerApiCalls.createService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getNamespace with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.GetNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.GetNamespaceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getNamespace = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getNamespace(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes createService with closed client', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.CreateServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.CreateServiceRequest', ['parent']); - request.parent = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.createService(request), expectedError); - }); + it('invokes getNamespace with closed client', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.GetNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.GetNamespaceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getNamespace(request), expectedError); + }); + }); + + describe('updateNamespace', () => { + it('invokes updateNamespace without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.UpdateNamespaceRequest(), + ); + request.namespace ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.UpdateNamespaceRequest', + ['namespace', 'name'], + ); + request.namespace.name = defaultValue1; + const expectedHeaderRequestParams = `namespace.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ); + client.innerApiCalls.updateNamespace = stubSimpleCall(expectedResponse); + const [response] = await client.updateNamespace(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('getService', () => { - it('invokes getService without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.GetServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.GetServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Service() - ); - client.innerApiCalls.getService = stubSimpleCall(expectedResponse); - const [response] = await client.getService(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes updateNamespace without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.UpdateNamespaceRequest(), + ); + request.namespace ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.UpdateNamespaceRequest', + ['namespace', 'name'], + ); + request.namespace.name = defaultValue1; + const expectedHeaderRequestParams = `namespace.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ); + client.innerApiCalls.updateNamespace = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateNamespace( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1.INamespace | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getService without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.GetServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.GetServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Service() - ); - client.innerApiCalls.getService = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getService( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1.IService|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes updateNamespace with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.UpdateNamespaceRequest(), + ); + request.namespace ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.UpdateNamespaceRequest', + ['namespace', 'name'], + ); + request.namespace.name = defaultValue1; + const expectedHeaderRequestParams = `namespace.name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateNamespace = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.updateNamespace(request), expectedError); + const actualRequest = ( + client.innerApiCalls.updateNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getService with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.GetServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.GetServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getService = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getService(request), expectedError); - const actualRequest = (client.innerApiCalls.getService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes updateNamespace with closed client', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.UpdateNamespaceRequest(), + ); + request.namespace ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.UpdateNamespaceRequest', + ['namespace', 'name'], + ); + request.namespace.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.updateNamespace(request), expectedError); + }); + }); + + describe('deleteNamespace', () => { + it('invokes deleteNamespace without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.DeleteNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.DeleteNamespaceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.innerApiCalls.deleteNamespace = stubSimpleCall(expectedResponse); + const [response] = await client.deleteNamespace(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getService with closed client', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.GetServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.GetServiceRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getService(request), expectedError); - }); + it('invokes deleteNamespace without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.DeleteNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.DeleteNamespaceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.innerApiCalls.deleteNamespace = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteNamespace( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('updateService', () => { - it('invokes updateService without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.UpdateServiceRequest() - ); - request.service ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.UpdateServiceRequest', ['service', 'name']); - request.service.name = defaultValue1; - const expectedHeaderRequestParams = `service.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Service() - ); - client.innerApiCalls.updateService = stubSimpleCall(expectedResponse); - const [response] = await client.updateService(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes deleteNamespace with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.DeleteNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.DeleteNamespaceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteNamespace = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.deleteNamespace(request), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes updateService without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.UpdateServiceRequest() - ); - request.service ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.UpdateServiceRequest', ['service', 'name']); - request.service.name = defaultValue1; - const expectedHeaderRequestParams = `service.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Service() - ); - client.innerApiCalls.updateService = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateService( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1.IService|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes deleteNamespace with closed client', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.DeleteNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.DeleteNamespaceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.deleteNamespace(request), expectedError); + }); + }); + + describe('createService', () => { + it('invokes createService without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.CreateServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.CreateServiceRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ); + client.innerApiCalls.createService = stubSimpleCall(expectedResponse); + const [response] = await client.createService(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes updateService with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.UpdateServiceRequest() - ); - request.service ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.UpdateServiceRequest', ['service', 'name']); - request.service.name = defaultValue1; - const expectedHeaderRequestParams = `service.name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateService = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.updateService(request), expectedError); - const actualRequest = (client.innerApiCalls.updateService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes createService without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.CreateServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.CreateServiceRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ); + client.innerApiCalls.createService = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createService( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1.IService | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes updateService with closed client', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.UpdateServiceRequest() - ); - request.service ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.UpdateServiceRequest', ['service', 'name']); - request.service.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.updateService(request), expectedError); - }); + it('invokes createService with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.CreateServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.CreateServiceRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createService = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.createService(request), expectedError); + const actualRequest = ( + client.innerApiCalls.createService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('deleteService', () => { - it('invokes deleteService without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.DeleteServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.DeleteServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteService = stubSimpleCall(expectedResponse); - const [response] = await client.deleteService(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes createService with closed client', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.CreateServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.CreateServiceRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.createService(request), expectedError); + }); + }); + + describe('getService', () => { + it('invokes getService without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.GetServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.GetServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ); + client.innerApiCalls.getService = stubSimpleCall(expectedResponse); + const [response] = await client.getService(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes deleteService without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.DeleteServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.DeleteServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteService = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteService( - request, - (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getService without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.GetServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.GetServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ); + client.innerApiCalls.getService = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getService( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1.IService | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes deleteService with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.DeleteServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.DeleteServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteService = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteService(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getService with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.GetServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.GetServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getService = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getService(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes deleteService with closed client', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.DeleteServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.DeleteServiceRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.deleteService(request), expectedError); - }); + it('invokes getService with closed client', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.GetServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.GetServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getService(request), expectedError); + }); + }); + + describe('updateService', () => { + it('invokes updateService without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.UpdateServiceRequest(), + ); + request.service ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.UpdateServiceRequest', + ['service', 'name'], + ); + request.service.name = defaultValue1; + const expectedHeaderRequestParams = `service.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ); + client.innerApiCalls.updateService = stubSimpleCall(expectedResponse); + const [response] = await client.updateService(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('createEndpoint', () => { - it('invokes createEndpoint without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.CreateEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.CreateEndpointRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Endpoint() - ); - client.innerApiCalls.createEndpoint = stubSimpleCall(expectedResponse); - const [response] = await client.createEndpoint(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes updateService without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.UpdateServiceRequest(), + ); + request.service ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.UpdateServiceRequest', + ['service', 'name'], + ); + request.service.name = defaultValue1; + const expectedHeaderRequestParams = `service.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ); + client.innerApiCalls.updateService = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateService( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1.IService | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes createEndpoint without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.CreateEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.CreateEndpointRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Endpoint() - ); - client.innerApiCalls.createEndpoint = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createEndpoint( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1.IEndpoint|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes updateService with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.UpdateServiceRequest(), + ); + request.service ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.UpdateServiceRequest', + ['service', 'name'], + ); + request.service.name = defaultValue1; + const expectedHeaderRequestParams = `service.name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateService = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.updateService(request), expectedError); + const actualRequest = ( + client.innerApiCalls.updateService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes createEndpoint with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.CreateEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.CreateEndpointRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createEndpoint = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.createEndpoint(request), expectedError); - const actualRequest = (client.innerApiCalls.createEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes updateService with closed client', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.UpdateServiceRequest(), + ); + request.service ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.UpdateServiceRequest', + ['service', 'name'], + ); + request.service.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.updateService(request), expectedError); + }); + }); + + describe('deleteService', () => { + it('invokes deleteService without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.DeleteServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.DeleteServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.innerApiCalls.deleteService = stubSimpleCall(expectedResponse); + const [response] = await client.deleteService(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes createEndpoint with closed client', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.CreateEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.CreateEndpointRequest', ['parent']); - request.parent = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.createEndpoint(request), expectedError); - }); + it('invokes deleteService without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.DeleteServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.DeleteServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.innerApiCalls.deleteService = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteService( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('getEndpoint', () => { - it('invokes getEndpoint without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.GetEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.GetEndpointRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Endpoint() - ); - client.innerApiCalls.getEndpoint = stubSimpleCall(expectedResponse); - const [response] = await client.getEndpoint(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes deleteService with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.DeleteServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.DeleteServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteService = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.deleteService(request), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getEndpoint without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.GetEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.GetEndpointRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Endpoint() - ); - client.innerApiCalls.getEndpoint = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getEndpoint( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1.IEndpoint|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes deleteService with closed client', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.DeleteServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.DeleteServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.deleteService(request), expectedError); + }); + }); + + describe('createEndpoint', () => { + it('invokes createEndpoint without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.CreateEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.CreateEndpointRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ); + client.innerApiCalls.createEndpoint = stubSimpleCall(expectedResponse); + const [response] = await client.createEndpoint(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getEndpoint with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.GetEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.GetEndpointRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getEndpoint = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getEndpoint(request), expectedError); - const actualRequest = (client.innerApiCalls.getEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes createEndpoint without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.CreateEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.CreateEndpointRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ); + client.innerApiCalls.createEndpoint = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createEndpoint( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1.IEndpoint | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getEndpoint with closed client', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.GetEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.GetEndpointRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getEndpoint(request), expectedError); - }); + it('invokes createEndpoint with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.CreateEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.CreateEndpointRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createEndpoint = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.createEndpoint(request), expectedError); + const actualRequest = ( + client.innerApiCalls.createEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('updateEndpoint', () => { - it('invokes updateEndpoint without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.UpdateEndpointRequest() - ); - request.endpoint ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.UpdateEndpointRequest', ['endpoint', 'name']); - request.endpoint.name = defaultValue1; - const expectedHeaderRequestParams = `endpoint.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Endpoint() - ); - client.innerApiCalls.updateEndpoint = stubSimpleCall(expectedResponse); - const [response] = await client.updateEndpoint(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes createEndpoint with closed client', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.CreateEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.CreateEndpointRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.createEndpoint(request), expectedError); + }); + }); + + describe('getEndpoint', () => { + it('invokes getEndpoint without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.GetEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.GetEndpointRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ); + client.innerApiCalls.getEndpoint = stubSimpleCall(expectedResponse); + const [response] = await client.getEndpoint(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes updateEndpoint without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.UpdateEndpointRequest() - ); - request.endpoint ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.UpdateEndpointRequest', ['endpoint', 'name']); - request.endpoint.name = defaultValue1; - const expectedHeaderRequestParams = `endpoint.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.Endpoint() - ); - client.innerApiCalls.updateEndpoint = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateEndpoint( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1.IEndpoint|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getEndpoint without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.GetEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.GetEndpointRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ); + client.innerApiCalls.getEndpoint = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getEndpoint( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1.IEndpoint | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes updateEndpoint with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.UpdateEndpointRequest() - ); - request.endpoint ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.UpdateEndpointRequest', ['endpoint', 'name']); - request.endpoint.name = defaultValue1; - const expectedHeaderRequestParams = `endpoint.name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateEndpoint = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.updateEndpoint(request), expectedError); - const actualRequest = (client.innerApiCalls.updateEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getEndpoint with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.GetEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.GetEndpointRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getEndpoint = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getEndpoint(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes updateEndpoint with closed client', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.UpdateEndpointRequest() - ); - request.endpoint ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.UpdateEndpointRequest', ['endpoint', 'name']); - request.endpoint.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.updateEndpoint(request), expectedError); - }); + it('invokes getEndpoint with closed client', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.GetEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.GetEndpointRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getEndpoint(request), expectedError); + }); + }); + + describe('updateEndpoint', () => { + it('invokes updateEndpoint without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.UpdateEndpointRequest(), + ); + request.endpoint ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.UpdateEndpointRequest', + ['endpoint', 'name'], + ); + request.endpoint.name = defaultValue1; + const expectedHeaderRequestParams = `endpoint.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ); + client.innerApiCalls.updateEndpoint = stubSimpleCall(expectedResponse); + const [response] = await client.updateEndpoint(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('deleteEndpoint', () => { - it('invokes deleteEndpoint without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.DeleteEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.DeleteEndpointRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteEndpoint = stubSimpleCall(expectedResponse); - const [response] = await client.deleteEndpoint(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes updateEndpoint without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.UpdateEndpointRequest(), + ); + request.endpoint ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.UpdateEndpointRequest', + ['endpoint', 'name'], + ); + request.endpoint.name = defaultValue1; + const expectedHeaderRequestParams = `endpoint.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ); + client.innerApiCalls.updateEndpoint = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateEndpoint( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1.IEndpoint | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes deleteEndpoint without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.DeleteEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.DeleteEndpointRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteEndpoint = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteEndpoint( - request, - (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes updateEndpoint with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.UpdateEndpointRequest(), + ); + request.endpoint ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.UpdateEndpointRequest', + ['endpoint', 'name'], + ); + request.endpoint.name = defaultValue1; + const expectedHeaderRequestParams = `endpoint.name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateEndpoint = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.updateEndpoint(request), expectedError); + const actualRequest = ( + client.innerApiCalls.updateEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes deleteEndpoint with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.DeleteEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.DeleteEndpointRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteEndpoint = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteEndpoint(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes updateEndpoint with closed client', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.UpdateEndpointRequest(), + ); + request.endpoint ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.UpdateEndpointRequest', + ['endpoint', 'name'], + ); + request.endpoint.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.updateEndpoint(request), expectedError); + }); + }); + + describe('deleteEndpoint', () => { + it('invokes deleteEndpoint without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.DeleteEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.DeleteEndpointRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.innerApiCalls.deleteEndpoint = stubSimpleCall(expectedResponse); + const [response] = await client.deleteEndpoint(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes deleteEndpoint with closed client', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.DeleteEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.DeleteEndpointRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.deleteEndpoint(request), expectedError); - }); + it('invokes deleteEndpoint without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.DeleteEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.DeleteEndpointRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.innerApiCalls.deleteEndpoint = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteEndpoint( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('getIamPolicy', () => { - it('invokes getIamPolicy without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.getIamPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.getIamPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes deleteEndpoint with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.DeleteEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.DeleteEndpointRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteEndpoint = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.deleteEndpoint(request), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getIamPolicy without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.getIamPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getIamPolicy( - request, - (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes deleteEndpoint with closed client', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.DeleteEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.DeleteEndpointRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.deleteEndpoint(request), expectedError); + }); + }); + + describe('getIamPolicy', () => { + it('invokes getIamPolicy without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.GetIamPolicyRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy(), + ); + client.innerApiCalls.getIamPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.getIamPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getIamPolicy with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getIamPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getIamPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getIamPolicy without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.GetIamPolicyRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy(), + ); + client.innerApiCalls.getIamPolicy = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getIamPolicy( + request, + ( + err?: Error | null, + result?: protos.google.iam.v1.IPolicy | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getIamPolicy with closed client', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getIamPolicy(request), expectedError); - }); + it('invokes getIamPolicy with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.GetIamPolicyRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getIamPolicy = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getIamPolicy(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('setIamPolicy', () => { - it('invokes setIamPolicy without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.setIamPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.setIamPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getIamPolicy with closed client', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.GetIamPolicyRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getIamPolicy(request), expectedError); + }); + }); + + describe('setIamPolicy', () => { + it('invokes setIamPolicy without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.SetIamPolicyRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy(), + ); + client.innerApiCalls.setIamPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.setIamPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes setIamPolicy without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.setIamPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setIamPolicy( - request, - (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes setIamPolicy without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.SetIamPolicyRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy(), + ); + client.innerApiCalls.setIamPolicy = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setIamPolicy( + request, + ( + err?: Error | null, + result?: protos.google.iam.v1.IPolicy | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes setIamPolicy with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.setIamPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setIamPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes setIamPolicy with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.SetIamPolicyRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.setIamPolicy = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.setIamPolicy(request), expectedError); + const actualRequest = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes setIamPolicy with closed client', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.setIamPolicy(request), expectedError); - }); + it('invokes setIamPolicy with closed client', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.SetIamPolicyRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.setIamPolicy(request), expectedError); + }); + }); + + describe('testIamPermissions', () => { + it('invokes testIamPermissions without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.TestIamPermissionsRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsResponse(), + ); + client.innerApiCalls.testIamPermissions = + stubSimpleCall(expectedResponse); + const [response] = await client.testIamPermissions(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('testIamPermissions', () => { - it('invokes testIamPermissions without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsResponse() - ); - client.innerApiCalls.testIamPermissions = stubSimpleCall(expectedResponse); - const [response] = await client.testIamPermissions(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes testIamPermissions without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.TestIamPermissionsRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsResponse(), + ); + client.innerApiCalls.testIamPermissions = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.testIamPermissions( + request, + ( + err?: Error | null, + result?: protos.google.iam.v1.ITestIamPermissionsResponse | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes testIamPermissions without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsResponse() - ); - client.innerApiCalls.testIamPermissions = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.testIamPermissions( - request, - (err?: Error|null, result?: protos.google.iam.v1.ITestIamPermissionsResponse|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes testIamPermissions with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.TestIamPermissionsRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.testIamPermissions = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.testIamPermissions(request), expectedError); + const actualRequest = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes testIamPermissions with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.testIamPermissions = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.testIamPermissions(request), expectedError); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes testIamPermissions with closed client', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.TestIamPermissionsRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.testIamPermissions(request), expectedError); + }); + }); + + describe('listNamespaces', () => { + it('invokes listNamespaces without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListNamespacesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListNamespacesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ), + ]; + client.innerApiCalls.listNamespaces = stubSimpleCall(expectedResponse); + const [response] = await client.listNamespaces(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listNamespaces as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listNamespaces as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes testIamPermissions with closed client', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.testIamPermissions(request), expectedError); - }); + it('invokes listNamespaces without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListNamespacesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListNamespacesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ), + ]; + client.innerApiCalls.listNamespaces = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listNamespaces( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.servicedirectory.v1.INamespace[] + | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listNamespaces as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listNamespaces as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('listNamespaces', () => { - it('invokes listNamespaces without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListNamespacesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListNamespacesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Namespace()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Namespace()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Namespace()), - ]; - client.innerApiCalls.listNamespaces = stubSimpleCall(expectedResponse); - const [response] = await client.listNamespaces(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listNamespaces as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listNamespaces as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes listNamespaces with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListNamespacesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListNamespacesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listNamespaces = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.listNamespaces(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listNamespaces as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listNamespaces as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes listNamespaces without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListNamespacesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListNamespacesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Namespace()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Namespace()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Namespace()), - ]; - client.innerApiCalls.listNamespaces = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listNamespaces( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1.INamespace[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listNamespaces as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listNamespaces as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes listNamespacesStream without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListNamespacesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListNamespacesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ), + ]; + client.descriptors.page.listNamespaces.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listNamespacesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicedirectory.v1.Namespace[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.servicedirectory.v1.Namespace) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listNamespaces.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listNamespaces, request), + ); + assert( + (client.descriptors.page.listNamespaces.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('invokes listNamespaces with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListNamespacesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListNamespacesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listNamespaces = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listNamespaces(request), expectedError); - const actualRequest = (client.innerApiCalls.listNamespaces as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listNamespaces as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes listNamespacesStream with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListNamespacesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListNamespacesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listNamespaces.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listNamespacesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicedirectory.v1.Namespace[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.servicedirectory.v1.Namespace) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listNamespaces.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listNamespaces, request), + ); + assert( + (client.descriptors.page.listNamespaces.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('invokes listNamespacesStream without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListNamespacesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListNamespacesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Namespace()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Namespace()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Namespace()), - ]; - client.descriptors.page.listNamespaces.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listNamespacesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicedirectory.v1.Namespace[] = []; - stream.on('data', (response: protos.google.cloud.servicedirectory.v1.Namespace) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - const responses = await promise; - assert.deepStrictEqual(responses, expectedResponse); - assert((client.descriptors.page.listNamespaces.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listNamespaces, request)); - assert( - (client.descriptors.page.listNamespaces.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('uses async iteration with listNamespaces without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListNamespacesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListNamespacesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Namespace(), + ), + ]; + client.descriptors.page.listNamespaces.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.servicedirectory.v1.INamespace[] = + []; + const iterable = client.listNamespacesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listNamespaces.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listNamespaces.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('invokes listNamespacesStream with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListNamespacesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListNamespacesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listNamespaces.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listNamespacesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicedirectory.v1.Namespace[] = []; - stream.on('data', (response: protos.google.cloud.servicedirectory.v1.Namespace) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listNamespaces.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listNamespaces, request)); - assert( - (client.descriptors.page.listNamespaces.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('uses async iteration with listNamespaces with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListNamespacesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListNamespacesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listNamespaces.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listNamespacesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.servicedirectory.v1.INamespace[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listNamespaces.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listNamespaces.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + }); + + describe('listServices', () => { + it('invokes listServices without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListServicesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListServicesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ), + ]; + client.innerApiCalls.listServices = stubSimpleCall(expectedResponse); + const [response] = await client.listServices(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('uses async iteration with listNamespaces without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListNamespacesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListNamespacesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Namespace()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Namespace()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Namespace()), - ]; - client.descriptors.page.listNamespaces.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.servicedirectory.v1.INamespace[] = []; - const iterable = client.listNamespacesAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + it('invokes listServices without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListServicesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListServicesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ), + ]; + client.innerApiCalls.listServices = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listServices( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1.IService[] | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listNamespaces.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listNamespaces.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listNamespaces with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListNamespacesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListNamespacesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listNamespaces.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listNamespacesAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.servicedirectory.v1.INamespace[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listNamespaces.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listNamespaces.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('listServices', () => { - it('invokes listServices without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListServicesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListServicesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Service()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Service()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Service()), - ]; - client.innerApiCalls.listServices = stubSimpleCall(expectedResponse); - const [response] = await client.listServices(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listServices as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listServices as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes listServices with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListServicesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListServicesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listServices = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.listServices(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes listServices without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListServicesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListServicesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Service()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Service()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Service()), - ]; - client.innerApiCalls.listServices = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listServices( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1.IService[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listServices as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listServices as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes listServicesStream without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListServicesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListServicesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ), + ]; + client.descriptors.page.listServices.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listServicesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicedirectory.v1.Service[] = []; + stream.on( + 'data', + (response: protos.google.cloud.servicedirectory.v1.Service) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listServices.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listServices, request), + ); + assert( + (client.descriptors.page.listServices.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('invokes listServices with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListServicesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListServicesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listServices = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listServices(request), expectedError); - const actualRequest = (client.innerApiCalls.listServices as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listServices as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes listServicesStream with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListServicesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListServicesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listServices.createStream = stubPageStreamingCall( + undefined, + expectedError, + ); + const stream = client.listServicesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicedirectory.v1.Service[] = []; + stream.on( + 'data', + (response: protos.google.cloud.servicedirectory.v1.Service) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listServices.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listServices, request), + ); + assert( + (client.descriptors.page.listServices.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('invokes listServicesStream without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListServicesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListServicesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Service()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Service()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Service()), - ]; - client.descriptors.page.listServices.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listServicesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicedirectory.v1.Service[] = []; - stream.on('data', (response: protos.google.cloud.servicedirectory.v1.Service) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - const responses = await promise; - assert.deepStrictEqual(responses, expectedResponse); - assert((client.descriptors.page.listServices.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listServices, request)); - assert( - (client.descriptors.page.listServices.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('uses async iteration with listServices without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListServicesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListServicesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Service(), + ), + ]; + client.descriptors.page.listServices.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.servicedirectory.v1.IService[] = []; + const iterable = client.listServicesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listServices.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listServices.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('invokes listServicesStream with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListServicesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListServicesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listServices.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listServicesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicedirectory.v1.Service[] = []; - stream.on('data', (response: protos.google.cloud.servicedirectory.v1.Service) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listServices.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listServices, request)); - assert( - (client.descriptors.page.listServices.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('uses async iteration with listServices with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListServicesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListServicesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listServices.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listServicesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.servicedirectory.v1.IService[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listServices.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listServices.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + }); + + describe('listEndpoints', () => { + it('invokes listEndpoints without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListEndpointsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListEndpointsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ), + ]; + client.innerApiCalls.listEndpoints = stubSimpleCall(expectedResponse); + const [response] = await client.listEndpoints(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listEndpoints as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listEndpoints as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('uses async iteration with listServices without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListServicesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListServicesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Service()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Service()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Service()), - ]; - client.descriptors.page.listServices.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.servicedirectory.v1.IService[] = []; - const iterable = client.listServicesAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + it('invokes listEndpoints without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListEndpointsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListEndpointsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ), + ]; + client.innerApiCalls.listEndpoints = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listEndpoints( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1.IEndpoint[] | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listServices.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listServices.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listServices with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListServicesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListServicesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listServices.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listServicesAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.servicedirectory.v1.IService[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listServices.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listServices.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listEndpoints as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listEndpoints as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('listEndpoints', () => { - it('invokes listEndpoints without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListEndpointsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListEndpointsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Endpoint()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Endpoint()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Endpoint()), - ]; - client.innerApiCalls.listEndpoints = stubSimpleCall(expectedResponse); - const [response] = await client.listEndpoints(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listEndpoints as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listEndpoints as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listEndpoints without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListEndpointsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListEndpointsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Endpoint()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Endpoint()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Endpoint()), - ]; - client.innerApiCalls.listEndpoints = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listEndpoints( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1.IEndpoint[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listEndpoints as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listEndpoints as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listEndpoints with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListEndpointsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListEndpointsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listEndpoints = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listEndpoints(request), expectedError); - const actualRequest = (client.innerApiCalls.listEndpoints as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listEndpoints as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes listEndpoints with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListEndpointsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListEndpointsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listEndpoints = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.listEndpoints(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listEndpoints as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listEndpoints as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes listEndpointsStream without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListEndpointsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListEndpointsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Endpoint()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Endpoint()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Endpoint()), - ]; - client.descriptors.page.listEndpoints.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listEndpointsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicedirectory.v1.Endpoint[] = []; - stream.on('data', (response: protos.google.cloud.servicedirectory.v1.Endpoint) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - const responses = await promise; - assert.deepStrictEqual(responses, expectedResponse); - assert((client.descriptors.page.listEndpoints.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listEndpoints, request)); - assert( - (client.descriptors.page.listEndpoints.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('invokes listEndpointsStream without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListEndpointsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListEndpointsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ), + ]; + client.descriptors.page.listEndpoints.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listEndpointsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicedirectory.v1.Endpoint[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.servicedirectory.v1.Endpoint) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listEndpoints.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listEndpoints, request), + ); + assert( + (client.descriptors.page.listEndpoints.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('invokes listEndpointsStream with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListEndpointsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListEndpointsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listEndpoints.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listEndpointsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicedirectory.v1.Endpoint[] = []; - stream.on('data', (response: protos.google.cloud.servicedirectory.v1.Endpoint) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listEndpoints.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listEndpoints, request)); - assert( - (client.descriptors.page.listEndpoints.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('invokes listEndpointsStream with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListEndpointsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListEndpointsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listEndpoints.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listEndpointsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicedirectory.v1.Endpoint[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.servicedirectory.v1.Endpoint) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listEndpoints.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listEndpoints, request), + ); + assert( + (client.descriptors.page.listEndpoints.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('uses async iteration with listEndpoints without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListEndpointsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListEndpointsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Endpoint()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Endpoint()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1.Endpoint()), - ]; - client.descriptors.page.listEndpoints.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.servicedirectory.v1.IEndpoint[] = []; - const iterable = client.listEndpointsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listEndpoints.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listEndpoints.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('uses async iteration with listEndpoints without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListEndpointsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListEndpointsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.Endpoint(), + ), + ]; + client.descriptors.page.listEndpoints.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.servicedirectory.v1.IEndpoint[] = []; + const iterable = client.listEndpointsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listEndpoints.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listEndpoints.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('uses async iteration with listEndpoints with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1.ListEndpointsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1.ListEndpointsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listEndpoints.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listEndpointsAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.servicedirectory.v1.IEndpoint[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listEndpoints.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listEndpoints.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('uses async iteration with listEndpoints with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1.ListEndpointsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1.ListEndpointsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listEndpoints.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listEndpointsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.servicedirectory.v1.IEndpoint[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listEndpoints.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listEndpoints.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); }); - describe('getLocation', () => { - it('invokes getLocation without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = stubSimpleCall(expectedResponse); - const response = await client.getLocation(request, expectedOptions); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - it('invokes getLocation without error using callback', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getLocation( - request, - expectedOptions, - ( - err?: Error | null, - result?: LocationProtos.google.cloud.location.ILocation | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0)); - }); - it('invokes getLocation with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getLocation(request, expectedOptions), expectedError); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); + }); + describe('getLocation', () => { + it('invokes getLocation without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = stubSimpleCall(expectedResponse); + const response = await client.getLocation(request, expectedOptions); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); }); - describe('listLocationsAsync', () => { - it('uses async iteration with listLocations without error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedResponse = [ - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - ]; - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - const iterable = client.listLocationsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + it('invokes getLocation without error using callback', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getLocation( + request, + expectedOptions, + ( + err?: Error | null, + result?: LocationProtos.google.cloud.location.ILocation | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - it('uses async iteration with listLocations with error', async () => { - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedError = new Error('expected'); - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listLocationsAsync(request); - await assert.rejects(async () => { - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.locationsClient.getLocation as SinonStub).getCall(0)); + }); + it('invokes getLocation with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.locationsClient.getLocation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.getLocation(request, expectedOptions), + expectedError, + ); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); + }); + }); + describe('listLocationsAsync', () => { + it('uses async iteration with listLocations without error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedResponse = [ + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + ]; + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + const iterable = client.listLocationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + it('uses async iteration with listLocations with error', async () => { + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('expected'); + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listLocationsAsync(request); + await assert.rejects(async () => { + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + }); + + describe('Path templates', () => { + describe('endpoint', async () => { + const fakePath = '/rendered/path/endpoint'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + namespace: 'namespaceValue', + service: 'serviceValue', + endpoint: 'endpointValue', + }; + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + client.pathTemplates.endpointPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.endpointPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('endpointPath', () => { + const result = client.endpointPath( + 'projectValue', + 'locationValue', + 'namespaceValue', + 'serviceValue', + 'endpointValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.endpointPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromEndpointName', () => { + const result = client.matchProjectFromEndpointName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromEndpointName', () => { + const result = client.matchLocationFromEndpointName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchNamespaceFromEndpointName', () => { + const result = client.matchNamespaceFromEndpointName(fakePath); + assert.strictEqual(result, 'namespaceValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchServiceFromEndpointName', () => { + const result = client.matchServiceFromEndpointName(fakePath); + assert.strictEqual(result, 'serviceValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchEndpointFromEndpointName', () => { + const result = client.matchEndpointFromEndpointName(fakePath); + assert.strictEqual(result, 'endpointValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); }); - describe('Path templates', () => { - - describe('endpoint', async () => { - const fakePath = "/rendered/path/endpoint"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - namespace: "namespaceValue", - service: "serviceValue", - endpoint: "endpointValue", - }; - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.endpointPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.endpointPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('endpointPath', () => { - const result = client.endpointPath("projectValue", "locationValue", "namespaceValue", "serviceValue", "endpointValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.endpointPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromEndpointName', () => { - const result = client.matchProjectFromEndpointName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromEndpointName', () => { - const result = client.matchLocationFromEndpointName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchNamespaceFromEndpointName', () => { - const result = client.matchNamespaceFromEndpointName(fakePath); - assert.strictEqual(result, "namespaceValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchServiceFromEndpointName', () => { - const result = client.matchServiceFromEndpointName(fakePath); - assert.strictEqual(result, "serviceValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchEndpointFromEndpointName', () => { - const result = client.matchEndpointFromEndpointName(fakePath); - assert.strictEqual(result, "endpointValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('location', async () => { - const fakePath = "/rendered/path/location"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - }; - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.locationPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.locationPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('locationPath', () => { - const result = client.locationPath("projectValue", "locationValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.locationPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromLocationName', () => { - const result = client.matchProjectFromLocationName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.locationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromLocationName', () => { - const result = client.matchLocationFromLocationName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.locationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('namespace', async () => { - const fakePath = "/rendered/path/namespace"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - namespace: "namespaceValue", - }; - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.namespacePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.namespacePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('namespacePath', () => { - const result = client.namespacePath("projectValue", "locationValue", "namespaceValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.namespacePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromNamespaceName', () => { - const result = client.matchProjectFromNamespaceName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.namespacePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromNamespaceName', () => { - const result = client.matchLocationFromNamespaceName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.namespacePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchNamespaceFromNamespaceName', () => { - const result = client.matchNamespaceFromNamespaceName(fakePath); - assert.strictEqual(result, "namespaceValue"); - assert((client.pathTemplates.namespacePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('service', async () => { - const fakePath = "/rendered/path/service"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - namespace: "namespaceValue", - service: "serviceValue", - }; - const client = new registrationserviceModule.v1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.servicePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.servicePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('servicePath', () => { - const result = client.servicePath("projectValue", "locationValue", "namespaceValue", "serviceValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.servicePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromServiceName', () => { - const result = client.matchProjectFromServiceName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.servicePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromServiceName', () => { - const result = client.matchLocationFromServiceName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.servicePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('location', async () => { + const fakePath = '/rendered/path/location'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + }; + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + client.pathTemplates.locationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.locationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('locationPath', () => { + const result = client.locationPath('projectValue', 'locationValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.locationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromLocationName', () => { + const result = client.matchProjectFromLocationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromLocationName', () => { + const result = client.matchLocationFromLocationName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchNamespaceFromServiceName', () => { - const result = client.matchNamespaceFromServiceName(fakePath); - assert.strictEqual(result, "namespaceValue"); - assert((client.pathTemplates.servicePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('namespace', async () => { + const fakePath = '/rendered/path/namespace'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + namespace: 'namespaceValue', + }; + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + client.pathTemplates.namespacePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.namespacePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('namespacePath', () => { + const result = client.namespacePath( + 'projectValue', + 'locationValue', + 'namespaceValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.namespacePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromNamespaceName', () => { + const result = client.matchProjectFromNamespaceName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.namespacePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromNamespaceName', () => { + const result = client.matchLocationFromNamespaceName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.namespacePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchNamespaceFromNamespaceName', () => { + const result = client.matchNamespaceFromNamespaceName(fakePath); + assert.strictEqual(result, 'namespaceValue'); + assert( + (client.pathTemplates.namespacePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchServiceFromServiceName', () => { - const result = client.matchServiceFromServiceName(fakePath); - assert.strictEqual(result, "serviceValue"); - assert((client.pathTemplates.servicePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + describe('service', async () => { + const fakePath = '/rendered/path/service'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + namespace: 'namespaceValue', + service: 'serviceValue', + }; + const client = new registrationserviceModule.v1.RegistrationServiceClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + client.pathTemplates.servicePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.servicePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('servicePath', () => { + const result = client.servicePath( + 'projectValue', + 'locationValue', + 'namespaceValue', + 'serviceValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.servicePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromServiceName', () => { + const result = client.matchProjectFromServiceName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromServiceName', () => { + const result = client.matchLocationFromServiceName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchNamespaceFromServiceName', () => { + const result = client.matchNamespaceFromServiceName(fakePath); + assert.strictEqual(result, 'namespaceValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchServiceFromServiceName', () => { + const result = client.matchServiceFromServiceName(fakePath); + assert.strictEqual(result, 'serviceValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); }); + }); }); diff --git a/packages/google-cloud-servicedirectory/test/gapic_registration_service_v1beta1.ts b/packages/google-cloud-servicedirectory/test/gapic_registration_service_v1beta1.ts index 247dcea50925..71b30d77fa3f 100644 --- a/packages/google-cloud-servicedirectory/test/gapic_registration_service_v1beta1.ts +++ b/packages/google-cloud-servicedirectory/test/gapic_registration_service_v1beta1.ts @@ -19,2979 +19,3879 @@ import * as protos from '../protos/protos'; import * as assert from 'assert'; import * as sinon from 'sinon'; -import {SinonStub} from 'sinon'; -import {describe, it} from 'mocha'; +import { SinonStub } from 'sinon'; +import { describe, it } from 'mocha'; import * as registrationserviceModule from '../src'; -import {PassThrough} from 'stream'; +import { PassThrough } from 'stream'; -import {protobuf, LocationProtos} from 'google-gax'; +import { protobuf, LocationProtos } from 'google-gax'; // Dynamically loaded proto JSON is needed to get the type information // to fill in default values for request objects -const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); +const root = protobuf.Root.fromJSON( + require('../protos/protos.json'), +).resolveAll(); // eslint-disable-next-line @typescript-eslint/no-unused-vars function getTypeDefaultValue(typeName: string, fields: string[]) { - let type = root.lookupType(typeName) as protobuf.Type; - for (const field of fields.slice(0, -1)) { - type = type.fields[field]?.resolvedType as protobuf.Type; - } - return type.fields[fields[fields.length - 1]]?.defaultValue; + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; } function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, { defaults: true }); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject, + ) as T; } function stubSimpleCall(response?: ResponseType, error?: Error) { - return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); } -function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { - return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error, +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); } -function stubPageStreamingCall(responses?: ResponseType[], error?: Error) { - const pagingStub = sinon.stub(); - if (responses) { - for (let i = 0; i < responses.length; ++i) { - pagingStub.onCall(i).callsArgWith(2, null, responses[i]); - } +function stubPageStreamingCall( + responses?: ResponseType[], + error?: Error, +) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); } - const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub; - const mockStream = new PassThrough({ - objectMode: true, - transform: transformStub, - }); - // trigger as many responses as needed - if (responses) { - for (let i = 0; i < responses.length; ++i) { - setImmediate(() => { mockStream.write({}); }); - } - setImmediate(() => { mockStream.end(); }); - } else { - setImmediate(() => { mockStream.write({}); }); - setImmediate(() => { mockStream.end(); }); + } + const transformStub = error + ? sinon.stub().callsArgWith(2, error) + : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { + mockStream.write({}); + }); } - return sinon.stub().returns(mockStream); + setImmediate(() => { + mockStream.end(); + }); + } else { + setImmediate(() => { + mockStream.write({}); + }); + setImmediate(() => { + mockStream.end(); + }); + } + return sinon.stub().returns(mockStream); } -function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { - let counter = 0; - const asyncIterable = { - [Symbol.asyncIterator]() { - return { - async next() { - if (error) { - return Promise.reject(error); - } - if (counter >= responses!.length) { - return Promise.resolve({done: true, value: undefined}); - } - return Promise.resolve({done: false, value: responses![counter++]}); - } - }; - } - }; - return sinon.stub().returns(asyncIterable); +function stubAsyncIterationCall( + responses?: ResponseType[], + error?: Error, +) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({ done: true, value: undefined }); + } + return Promise.resolve({ done: false, value: responses![counter++] }); + }, + }; + }, + }; + return sinon.stub().returns(asyncIterable); } describe('v1beta1.RegistrationServiceClient', () => { - describe('Common methods', () => { - it('has apiEndpoint', () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient(); - const apiEndpoint = client.apiEndpoint; - assert.strictEqual(apiEndpoint, 'servicedirectory.googleapis.com'); - }); - - it('has universeDomain', () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient(); - const universeDomain = client.universeDomain; - assert.strictEqual(universeDomain, "googleapis.com"); - }); - - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - it('throws DeprecationWarning if static servicePath is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const servicePath = registrationserviceModule.v1beta1.RegistrationServiceClient.servicePath; - assert.strictEqual(servicePath, 'servicedirectory.googleapis.com'); - assert(stub.called); - stub.restore(); - }); + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'servicedirectory.googleapis.com'); + }); - it('throws DeprecationWarning if static apiEndpoint is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const apiEndpoint = registrationserviceModule.v1beta1.RegistrationServiceClient.apiEndpoint; - assert.strictEqual(apiEndpoint, 'servicedirectory.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - } - it('sets apiEndpoint according to universe domain camelCase', () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({universeDomain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicedirectory.example.com'); - }); - - it('sets apiEndpoint according to universe domain snakeCase', () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({universe_domain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicedirectory.example.com'); - }); - - if (typeof process === 'object' && 'env' in process) { - describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { - it('sets apiEndpoint from environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient(); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicedirectory.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - - it('value configured in code has priority over environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({universeDomain: 'configured.example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicedirectory.configured.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - }); - } - it('does not allow setting both universeDomain and universe_domain', () => { - assert.throws(() => { new registrationserviceModule.v1beta1.RegistrationServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); - }); + it('has universeDomain', () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient(); + const universeDomain = client.universeDomain; + assert.strictEqual(universeDomain, 'googleapis.com'); + }); - it('has port', () => { - const port = registrationserviceModule.v1beta1.RegistrationServiceClient.port; - assert(port); - assert(typeof port === 'number'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + it('throws DeprecationWarning if static servicePath is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const servicePath = + registrationserviceModule.v1beta1.RegistrationServiceClient + .servicePath; + assert.strictEqual(servicePath, 'servicedirectory.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = + registrationserviceModule.v1beta1.RegistrationServiceClient + .apiEndpoint; + assert.strictEqual(apiEndpoint, 'servicedirectory.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + universeDomain: 'example.com', }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'servicedirectory.example.com'); + }); - it('should create a client with no option', () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient(); - assert(client); + it('sets apiEndpoint according to universe domain snakeCase', () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + universe_domain: 'example.com', }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'servicedirectory.example.com'); + }); - it('should create a client with gRPC fallback', () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - fallback: true, - }); - assert(client); + if (typeof process === 'object' && 'env' in process) { + describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { + it('sets apiEndpoint from environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'servicedirectory.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + + it('value configured in code has priority over environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + universeDomain: 'configured.example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual( + servicePath, + 'servicedirectory.configured.example.com', + ); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + }); + } + it('does not allow setting both universeDomain and universe_domain', () => { + assert.throws(() => { + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + universe_domain: 'example.com', + universeDomain: 'example.net', }); + }); + }); - it('has initialize method and supports deferred initialization', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.registrationServiceStub, undefined); - await client.initialize(); - assert(client.registrationServiceStub); - }); + it('has port', () => { + const port = + registrationserviceModule.v1beta1.RegistrationServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); - it('has close method for the initialized client', done => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize().catch(err => {throw err}); - assert(client.registrationServiceStub); - client.close().then(() => { - done(); - }).catch(err => {throw err}); + it('should create a client with no option', () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + fallback: true, }); + assert(client); + }); - it('has close method for the non-initialized client', done => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.registrationServiceStub, undefined); - client.close().then(() => { - done(); - }).catch(err => {throw err}); + it('has initialize method and supports deferred initialization', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', }); + assert.strictEqual(client.registrationServiceStub, undefined); + await client.initialize(); + assert(client.registrationServiceStub); + }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + it('has close method for the initialized client', (done) => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.initialize().catch((err) => { + throw err; + }); + assert(client.registrationServiceStub); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); + }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error|null, projectId?: string|null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } - }); - }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); + it('has close method for the non-initialized client', (done) => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.registrationServiceStub, undefined); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); }); - describe('createNamespace', () => { - it('invokes createNamespace without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Namespace() - ); - client.innerApiCalls.createNamespace = stubSimpleCall(expectedResponse); - const [response] = await client.createNamespace(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createNamespace without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Namespace() - ); - client.innerApiCalls.createNamespace = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createNamespace( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1beta1.INamespace|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createNamespace with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createNamespace = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.createNamespace(request), expectedError); - const actualRequest = (client.innerApiCalls.createNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createNamespace with closed client', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest', ['parent']); - request.parent = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.createNamespace(request), expectedError); - }); - }); - - describe('getNamespace', () => { - it('invokes getNamespace without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Namespace() - ); - client.innerApiCalls.getNamespace = stubSimpleCall(expectedResponse); - const [response] = await client.getNamespace(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getNamespace without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Namespace() - ); - client.innerApiCalls.getNamespace = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getNamespace( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1beta1.INamespace|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getNamespace with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getNamespace = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getNamespace(request), expectedError); - const actualRequest = (client.innerApiCalls.getNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getNamespace with closed client', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getNamespace(request), expectedError); - }); - }); - - describe('updateNamespace', () => { - it('invokes updateNamespace without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest() - ); - request.namespace ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest', ['namespace', 'name']); - request.namespace.name = defaultValue1; - const expectedHeaderRequestParams = `namespace.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Namespace() - ); - client.innerApiCalls.updateNamespace = stubSimpleCall(expectedResponse); - const [response] = await client.updateNamespace(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateNamespace without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest() - ); - request.namespace ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest', ['namespace', 'name']); - request.namespace.name = defaultValue1; - const expectedHeaderRequestParams = `namespace.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Namespace() - ); - client.innerApiCalls.updateNamespace = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateNamespace( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1beta1.INamespace|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateNamespace with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest() - ); - request.namespace ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest', ['namespace', 'name']); - request.namespace.name = defaultValue1; - const expectedHeaderRequestParams = `namespace.name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateNamespace = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.updateNamespace(request), expectedError); - const actualRequest = (client.innerApiCalls.updateNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateNamespace with closed client', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest() - ); - request.namespace ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest', ['namespace', 'name']); - request.namespace.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.updateNamespace(request), expectedError); - }); - }); - - describe('deleteNamespace', () => { - it('invokes deleteNamespace without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteNamespace = stubSimpleCall(expectedResponse); - const [response] = await client.deleteNamespace(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteNamespace without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteNamespace = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteNamespace( - request, - (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteNamespace with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteNamespace = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteNamespace(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteNamespace as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteNamespace as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteNamespace with closed client', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.deleteNamespace(request), expectedError); - }); - }); - - describe('createService', () => { - it('invokes createService without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.CreateServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.CreateServiceRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Service() - ); - client.innerApiCalls.createService = stubSimpleCall(expectedResponse); - const [response] = await client.createService(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createService without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.CreateServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.CreateServiceRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Service() - ); - client.innerApiCalls.createService = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createService( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1beta1.IService|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createService with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.CreateServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.CreateServiceRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createService = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.createService(request), expectedError); - const actualRequest = (client.innerApiCalls.createService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createService with closed client', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.CreateServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.CreateServiceRequest', ['parent']); - request.parent = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.createService(request), expectedError); - }); - }); - - describe('getService', () => { - it('invokes getService without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.GetServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.GetServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Service() - ); - client.innerApiCalls.getService = stubSimpleCall(expectedResponse); - const [response] = await client.getService(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getService without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.GetServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.GetServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Service() - ); - client.innerApiCalls.getService = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getService( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1beta1.IService|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getService with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.GetServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.GetServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getService = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getService(request), expectedError); - const actualRequest = (client.innerApiCalls.getService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getService with closed client', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.GetServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.GetServiceRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getService(request), expectedError); - }); - }); - - describe('updateService', () => { - it('invokes updateService without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest() - ); - request.service ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest', ['service', 'name']); - request.service.name = defaultValue1; - const expectedHeaderRequestParams = `service.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Service() - ); - client.innerApiCalls.updateService = stubSimpleCall(expectedResponse); - const [response] = await client.updateService(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateService without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest() - ); - request.service ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest', ['service', 'name']); - request.service.name = defaultValue1; - const expectedHeaderRequestParams = `service.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Service() - ); - client.innerApiCalls.updateService = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateService( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1beta1.IService|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateService with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest() - ); - request.service ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest', ['service', 'name']); - request.service.name = defaultValue1; - const expectedHeaderRequestParams = `service.name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateService = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.updateService(request), expectedError); - const actualRequest = (client.innerApiCalls.updateService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateService with closed client', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest() - ); - request.service ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest', ['service', 'name']); - request.service.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.updateService(request), expectedError); - }); - }); - - describe('deleteService', () => { - it('invokes deleteService without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteService = stubSimpleCall(expectedResponse); - const [response] = await client.deleteService(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteService without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteService = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteService( - request, - (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteService with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteService = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteService(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteService as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteService as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteService with closed client', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.deleteService(request), expectedError); - }); - }); - - describe('createEndpoint', () => { - it('invokes createEndpoint without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Endpoint() - ); - client.innerApiCalls.createEndpoint = stubSimpleCall(expectedResponse); - const [response] = await client.createEndpoint(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createEndpoint without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Endpoint() - ); - client.innerApiCalls.createEndpoint = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createEndpoint( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1beta1.IEndpoint|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createEndpoint with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createEndpoint = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.createEndpoint(request), expectedError); - const actualRequest = (client.innerApiCalls.createEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createEndpoint with closed client', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest', ['parent']); - request.parent = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.createEndpoint(request), expectedError); - }); - }); - - describe('getEndpoint', () => { - it('invokes getEndpoint without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.GetEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.GetEndpointRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Endpoint() - ); - client.innerApiCalls.getEndpoint = stubSimpleCall(expectedResponse); - const [response] = await client.getEndpoint(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getEndpoint without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.GetEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.GetEndpointRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Endpoint() - ); - client.innerApiCalls.getEndpoint = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getEndpoint( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1beta1.IEndpoint|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getEndpoint with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.GetEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.GetEndpointRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getEndpoint = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getEndpoint(request), expectedError); - const actualRequest = (client.innerApiCalls.getEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getEndpoint with closed client', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.GetEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.GetEndpointRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getEndpoint(request), expectedError); - }); - }); - - describe('updateEndpoint', () => { - it('invokes updateEndpoint without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest() - ); - request.endpoint ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest', ['endpoint', 'name']); - request.endpoint.name = defaultValue1; - const expectedHeaderRequestParams = `endpoint.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Endpoint() - ); - client.innerApiCalls.updateEndpoint = stubSimpleCall(expectedResponse); - const [response] = await client.updateEndpoint(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateEndpoint without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest() - ); - request.endpoint ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest', ['endpoint', 'name']); - request.endpoint.name = defaultValue1; - const expectedHeaderRequestParams = `endpoint.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.Endpoint() - ); - client.innerApiCalls.updateEndpoint = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateEndpoint( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1beta1.IEndpoint|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateEndpoint with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest() - ); - request.endpoint ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest', ['endpoint', 'name']); - request.endpoint.name = defaultValue1; - const expectedHeaderRequestParams = `endpoint.name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateEndpoint = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.updateEndpoint(request), expectedError); - const actualRequest = (client.innerApiCalls.updateEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateEndpoint with closed client', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest() - ); - request.endpoint ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest', ['endpoint', 'name']); - request.endpoint.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.updateEndpoint(request), expectedError); - }); - }); - - describe('deleteEndpoint', () => { - it('invokes deleteEndpoint without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteEndpoint = stubSimpleCall(expectedResponse); - const [response] = await client.deleteEndpoint(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteEndpoint without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteEndpoint = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteEndpoint( - request, - (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteEndpoint with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteEndpoint = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteEndpoint(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteEndpoint as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteEndpoint as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteEndpoint with closed client', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.deleteEndpoint(request), expectedError); - }); - }); - - describe('getIamPolicy', () => { - it('invokes getIamPolicy without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.getIamPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.getIamPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getIamPolicy without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.getIamPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getIamPolicy( - request, - (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getIamPolicy with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getIamPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getIamPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getIamPolicy with closed client', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getIamPolicy(request), expectedError); - }); - }); - - describe('setIamPolicy', () => { - it('invokes setIamPolicy without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.setIamPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.setIamPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes setIamPolicy without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.setIamPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setIamPolicy( - request, - (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes setIamPolicy with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.setIamPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setIamPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes setIamPolicy with closed client', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.setIamPolicy(request), expectedError); - }); - }); - - describe('testIamPermissions', () => { - it('invokes testIamPermissions without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsResponse() - ); - client.innerApiCalls.testIamPermissions = stubSimpleCall(expectedResponse); - const [response] = await client.testIamPermissions(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes testIamPermissions without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsResponse() - ); - client.innerApiCalls.testIamPermissions = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.testIamPermissions( - request, - (err?: Error|null, result?: protos.google.iam.v1.ITestIamPermissionsResponse|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes testIamPermissions with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.testIamPermissions = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.testIamPermissions(request), expectedError); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes testIamPermissions with closed client', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.testIamPermissions(request), expectedError); - }); - }); - - describe('listNamespaces', () => { - it('invokes listNamespaces without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Namespace()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Namespace()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Namespace()), - ]; - client.innerApiCalls.listNamespaces = stubSimpleCall(expectedResponse); - const [response] = await client.listNamespaces(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listNamespaces as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listNamespaces as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listNamespaces without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Namespace()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Namespace()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Namespace()), - ]; - client.innerApiCalls.listNamespaces = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listNamespaces( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1beta1.INamespace[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listNamespaces as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listNamespaces as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listNamespaces with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listNamespaces = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listNamespaces(request), expectedError); - const actualRequest = (client.innerApiCalls.listNamespaces as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listNamespaces as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listNamespacesStream without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Namespace()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Namespace()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Namespace()), - ]; - client.descriptors.page.listNamespaces.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listNamespacesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicedirectory.v1beta1.Namespace[] = []; - stream.on('data', (response: protos.google.cloud.servicedirectory.v1beta1.Namespace) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - const responses = await promise; - assert.deepStrictEqual(responses, expectedResponse); - assert((client.descriptors.page.listNamespaces.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listNamespaces, request)); - assert( - (client.descriptors.page.listNamespaces.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listNamespacesStream with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listNamespaces.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listNamespacesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicedirectory.v1beta1.Namespace[] = []; - stream.on('data', (response: protos.google.cloud.servicedirectory.v1beta1.Namespace) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listNamespaces.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listNamespaces, request)); - assert( - (client.descriptors.page.listNamespaces.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listNamespaces without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Namespace()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Namespace()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Namespace()), - ]; - client.descriptors.page.listNamespaces.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.servicedirectory.v1beta1.INamespace[] = []; - const iterable = client.listNamespacesAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + }); + + describe('createNamespace', () => { + it('invokes createNamespace without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ); + client.innerApiCalls.createNamespace = stubSimpleCall(expectedResponse); + const [response] = await client.createNamespace(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createNamespace without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ); + client.innerApiCalls.createNamespace = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createNamespace( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1beta1.INamespace | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listNamespaces.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listNamespaces.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listNamespaces with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listNamespaces.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listNamespacesAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.servicedirectory.v1beta1.INamespace[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listNamespaces.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listNamespaces.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - - describe('listServices', () => { - it('invokes listServices without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListServicesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListServicesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Service()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Service()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Service()), - ]; - client.innerApiCalls.listServices = stubSimpleCall(expectedResponse); - const [response] = await client.listServices(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listServices as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listServices as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listServices without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListServicesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListServicesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Service()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Service()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Service()), - ]; - client.innerApiCalls.listServices = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listServices( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1beta1.IService[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listServices as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listServices as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listServices with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListServicesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListServicesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listServices = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listServices(request), expectedError); - const actualRequest = (client.innerApiCalls.listServices as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listServices as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listServicesStream without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListServicesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListServicesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Service()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Service()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Service()), - ]; - client.descriptors.page.listServices.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listServicesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicedirectory.v1beta1.Service[] = []; - stream.on('data', (response: protos.google.cloud.servicedirectory.v1beta1.Service) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - const responses = await promise; - assert.deepStrictEqual(responses, expectedResponse); - assert((client.descriptors.page.listServices.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listServices, request)); - assert( - (client.descriptors.page.listServices.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listServicesStream with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListServicesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListServicesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listServices.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listServicesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicedirectory.v1beta1.Service[] = []; - stream.on('data', (response: protos.google.cloud.servicedirectory.v1beta1.Service) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listServices.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listServices, request)); - assert( - (client.descriptors.page.listServices.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listServices without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListServicesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListServicesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Service()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Service()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Service()), - ]; - client.descriptors.page.listServices.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.servicedirectory.v1beta1.IService[] = []; - const iterable = client.listServicesAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createNamespace with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createNamespace = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.createNamespace(request), expectedError); + const actualRequest = ( + client.innerApiCalls.createNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createNamespace with closed client', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.createNamespace(request), expectedError); + }); + }); + + describe('getNamespace', () => { + it('invokes getNamespace without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ); + client.innerApiCalls.getNamespace = stubSimpleCall(expectedResponse); + const [response] = await client.getNamespace(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getNamespace without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ); + client.innerApiCalls.getNamespace = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getNamespace( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1beta1.INamespace | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listServices.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listServices.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listServices with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListServicesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListServicesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listServices.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listServicesAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.servicedirectory.v1beta1.IService[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listServices.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listServices.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - - describe('listEndpoints', () => { - it('invokes listEndpoints without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Endpoint()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Endpoint()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Endpoint()), - ]; - client.innerApiCalls.listEndpoints = stubSimpleCall(expectedResponse); - const [response] = await client.listEndpoints(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listEndpoints as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listEndpoints as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listEndpoints without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Endpoint()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Endpoint()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Endpoint()), - ]; - client.innerApiCalls.listEndpoints = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listEndpoints( - request, - (err?: Error|null, result?: protos.google.cloud.servicedirectory.v1beta1.IEndpoint[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listEndpoints as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listEndpoints as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listEndpoints with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listEndpoints = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listEndpoints(request), expectedError); - const actualRequest = (client.innerApiCalls.listEndpoints as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listEndpoints as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listEndpointsStream without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Endpoint()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Endpoint()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Endpoint()), - ]; - client.descriptors.page.listEndpoints.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listEndpointsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicedirectory.v1beta1.Endpoint[] = []; - stream.on('data', (response: protos.google.cloud.servicedirectory.v1beta1.Endpoint) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - const responses = await promise; - assert.deepStrictEqual(responses, expectedResponse); - assert((client.descriptors.page.listEndpoints.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listEndpoints, request)); - assert( - (client.descriptors.page.listEndpoints.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listEndpointsStream with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listEndpoints.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listEndpointsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicedirectory.v1beta1.Endpoint[] = []; - stream.on('data', (response: protos.google.cloud.servicedirectory.v1beta1.Endpoint) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listEndpoints.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listEndpoints, request)); - assert( - (client.descriptors.page.listEndpoints.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listEndpoints without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Endpoint()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Endpoint()), - generateSampleMessage(new protos.google.cloud.servicedirectory.v1beta1.Endpoint()), - ]; - client.descriptors.page.listEndpoints.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.servicedirectory.v1beta1.IEndpoint[] = []; - const iterable = client.listEndpointsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getNamespace with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getNamespace = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getNamespace(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getNamespace with closed client', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.GetNamespaceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getNamespace(request), expectedError); + }); + }); + + describe('updateNamespace', () => { + it('invokes updateNamespace without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest(), + ); + request.namespace ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest', + ['namespace', 'name'], + ); + request.namespace.name = defaultValue1; + const expectedHeaderRequestParams = `namespace.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ); + client.innerApiCalls.updateNamespace = stubSimpleCall(expectedResponse); + const [response] = await client.updateNamespace(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateNamespace without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest(), + ); + request.namespace ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest', + ['namespace', 'name'], + ); + request.namespace.name = defaultValue1; + const expectedHeaderRequestParams = `namespace.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ); + client.innerApiCalls.updateNamespace = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateNamespace( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1beta1.INamespace | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listEndpoints.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listEndpoints.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listEndpoints with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listEndpoints.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listEndpointsAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.servicedirectory.v1beta1.IEndpoint[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listEndpoints.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listEndpoints.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - describe('getLocation', () => { - it('invokes getLocation without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = stubSimpleCall(expectedResponse); - const response = await client.getLocation(request, expectedOptions); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - it('invokes getLocation without error using callback', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getLocation( - request, - expectedOptions, - ( - err?: Error | null, - result?: LocationProtos.google.cloud.location.ILocation | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0)); - }); - it('invokes getLocation with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getLocation(request, expectedOptions), expectedError); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - describe('listLocationsAsync', () => { - it('uses async iteration with listLocations without error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedResponse = [ - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - ]; - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - const iterable = client.listLocationsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateNamespace with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest(), + ); + request.namespace ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest', + ['namespace', 'name'], + ); + request.namespace.name = defaultValue1; + const expectedHeaderRequestParams = `namespace.name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateNamespace = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.updateNamespace(request), expectedError); + const actualRequest = ( + client.innerApiCalls.updateNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateNamespace with closed client', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest(), + ); + request.namespace ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest', + ['namespace', 'name'], + ); + request.namespace.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.updateNamespace(request), expectedError); + }); + }); + + describe('deleteNamespace', () => { + it('invokes deleteNamespace without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.innerApiCalls.deleteNamespace = stubSimpleCall(expectedResponse); + const [response] = await client.deleteNamespace(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteNamespace without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.innerApiCalls.deleteNamespace = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteNamespace( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - it('uses async iteration with listLocations with error', async () => { - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedError = new Error('expected'); - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listLocationsAsync(request); - await assert.rejects(async () => { - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - - describe('Path templates', () => { - - describe('endpoint', async () => { - const fakePath = "/rendered/path/endpoint"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - namespace: "namespaceValue", - service: "serviceValue", - endpoint: "endpointValue", - }; - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.endpointPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.endpointPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('endpointPath', () => { - const result = client.endpointPath("projectValue", "locationValue", "namespaceValue", "serviceValue", "endpointValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.endpointPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromEndpointName', () => { - const result = client.matchProjectFromEndpointName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes deleteNamespace with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteNamespace = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.deleteNamespace(request), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteNamespace as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteNamespace as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchLocationFromEndpointName', () => { - const result = client.matchLocationFromEndpointName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes deleteNamespace with closed client', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.deleteNamespace(request), expectedError); + }); + }); + + describe('createService', () => { + it('invokes createService without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.CreateServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.CreateServiceRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ); + client.innerApiCalls.createService = stubSimpleCall(expectedResponse); + const [response] = await client.createService(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchNamespaceFromEndpointName', () => { - const result = client.matchNamespaceFromEndpointName(fakePath); - assert.strictEqual(result, "namespaceValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes createService without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.CreateServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.CreateServiceRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ); + client.innerApiCalls.createService = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createService( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1beta1.IService | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchServiceFromEndpointName', () => { - const result = client.matchServiceFromEndpointName(fakePath); - assert.strictEqual(result, "serviceValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes createService with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.CreateServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.CreateServiceRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createService = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.createService(request), expectedError); + const actualRequest = ( + client.innerApiCalls.createService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchEndpointFromEndpointName', () => { - const result = client.matchEndpointFromEndpointName(fakePath); - assert.strictEqual(result, "endpointValue"); - assert((client.pathTemplates.endpointPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes createService with closed client', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.CreateServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.CreateServiceRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.createService(request), expectedError); + }); + }); + + describe('getService', () => { + it('invokes getService without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.GetServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.GetServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ); + client.innerApiCalls.getService = stubSimpleCall(expectedResponse); + const [response] = await client.getService(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('location', async () => { - const fakePath = "/rendered/path/location"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - }; - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.locationPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.locationPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('locationPath', () => { - const result = client.locationPath("projectValue", "locationValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.locationPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes getService without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.GetServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.GetServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ); + client.innerApiCalls.getService = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getService( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1beta1.IService | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromLocationName', () => { - const result = client.matchProjectFromLocationName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.locationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes getService with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.GetServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.GetServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getService = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getService(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchLocationFromLocationName', () => { - const result = client.matchLocationFromLocationName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.locationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes getService with closed client', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.GetServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.GetServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getService(request), expectedError); + }); + }); + + describe('updateService', () => { + it('invokes updateService without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest(), + ); + request.service ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest', + ['service', 'name'], + ); + request.service.name = defaultValue1; + const expectedHeaderRequestParams = `service.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ); + client.innerApiCalls.updateService = stubSimpleCall(expectedResponse); + const [response] = await client.updateService(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('namespace', async () => { - const fakePath = "/rendered/path/namespace"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - namespace: "namespaceValue", - }; - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.namespacePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.namespacePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('namespacePath', () => { - const result = client.namespacePath("projectValue", "locationValue", "namespaceValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.namespacePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes updateService without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest(), + ); + request.service ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest', + ['service', 'name'], + ); + request.service.name = defaultValue1; + const expectedHeaderRequestParams = `service.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ); + client.innerApiCalls.updateService = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateService( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1beta1.IService | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromNamespaceName', () => { - const result = client.matchProjectFromNamespaceName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.namespacePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes updateService with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest(), + ); + request.service ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest', + ['service', 'name'], + ); + request.service.name = defaultValue1; + const expectedHeaderRequestParams = `service.name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateService = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.updateService(request), expectedError); + const actualRequest = ( + client.innerApiCalls.updateService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchLocationFromNamespaceName', () => { - const result = client.matchLocationFromNamespaceName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.namespacePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes updateService with closed client', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest(), + ); + request.service ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.UpdateServiceRequest', + ['service', 'name'], + ); + request.service.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.updateService(request), expectedError); + }); + }); + + describe('deleteService', () => { + it('invokes deleteService without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.innerApiCalls.deleteService = stubSimpleCall(expectedResponse); + const [response] = await client.deleteService(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchNamespaceFromNamespaceName', () => { - const result = client.matchNamespaceFromNamespaceName(fakePath); - assert.strictEqual(result, "namespaceValue"); - assert((client.pathTemplates.namespacePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes deleteService without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.innerApiCalls.deleteService = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteService( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('service', async () => { - const fakePath = "/rendered/path/service"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - namespace: "namespaceValue", - service: "serviceValue", - }; - const client = new registrationserviceModule.v1beta1.RegistrationServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.servicePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.servicePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('servicePath', () => { - const result = client.servicePath("projectValue", "locationValue", "namespaceValue", "serviceValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.servicePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes deleteService with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteService = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.deleteService(request), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromServiceName', () => { - const result = client.matchProjectFromServiceName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.servicePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes deleteService with closed client', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.DeleteServiceRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.deleteService(request), expectedError); + }); + }); + + describe('createEndpoint', () => { + it('invokes createEndpoint without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ); + client.innerApiCalls.createEndpoint = stubSimpleCall(expectedResponse); + const [response] = await client.createEndpoint(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchLocationFromServiceName', () => { - const result = client.matchLocationFromServiceName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.servicePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes createEndpoint without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ); + client.innerApiCalls.createEndpoint = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createEndpoint( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1beta1.IEndpoint | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchNamespaceFromServiceName', () => { - const result = client.matchNamespaceFromServiceName(fakePath); - assert.strictEqual(result, "namespaceValue"); - assert((client.pathTemplates.servicePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes createEndpoint with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createEndpoint = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.createEndpoint(request), expectedError); + const actualRequest = ( + client.innerApiCalls.createEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchServiceFromServiceName', () => { - const result = client.matchServiceFromServiceName(fakePath); - assert.strictEqual(result, "serviceValue"); - assert((client.pathTemplates.servicePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes createEndpoint with closed client', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.CreateEndpointRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.createEndpoint(request), expectedError); + }); + }); + + describe('getEndpoint', () => { + it('invokes getEndpoint without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.GetEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.GetEndpointRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ); + client.innerApiCalls.getEndpoint = stubSimpleCall(expectedResponse); + const [response] = await client.getEndpoint(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getEndpoint without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.GetEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.GetEndpointRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ); + client.innerApiCalls.getEndpoint = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getEndpoint( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1beta1.IEndpoint | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getEndpoint with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.GetEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.GetEndpointRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getEndpoint = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getEndpoint(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getEndpoint with closed client', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.GetEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.GetEndpointRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getEndpoint(request), expectedError); + }); + }); + + describe('updateEndpoint', () => { + it('invokes updateEndpoint without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest(), + ); + request.endpoint ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest', + ['endpoint', 'name'], + ); + request.endpoint.name = defaultValue1; + const expectedHeaderRequestParams = `endpoint.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ); + client.innerApiCalls.updateEndpoint = stubSimpleCall(expectedResponse); + const [response] = await client.updateEndpoint(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateEndpoint without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest(), + ); + request.endpoint ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest', + ['endpoint', 'name'], + ); + request.endpoint.name = defaultValue1; + const expectedHeaderRequestParams = `endpoint.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ); + client.innerApiCalls.updateEndpoint = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateEndpoint( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicedirectory.v1beta1.IEndpoint | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateEndpoint with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest(), + ); + request.endpoint ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest', + ['endpoint', 'name'], + ); + request.endpoint.name = defaultValue1; + const expectedHeaderRequestParams = `endpoint.name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateEndpoint = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.updateEndpoint(request), expectedError); + const actualRequest = ( + client.innerApiCalls.updateEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateEndpoint with closed client', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest(), + ); + request.endpoint ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest', + ['endpoint', 'name'], + ); + request.endpoint.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.updateEndpoint(request), expectedError); + }); + }); + + describe('deleteEndpoint', () => { + it('invokes deleteEndpoint without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.innerApiCalls.deleteEndpoint = stubSimpleCall(expectedResponse); + const [response] = await client.deleteEndpoint(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteEndpoint without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.innerApiCalls.deleteEndpoint = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteEndpoint( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteEndpoint with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteEndpoint = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.deleteEndpoint(request), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteEndpoint as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteEndpoint as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteEndpoint with closed client', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.deleteEndpoint(request), expectedError); + }); + }); + + describe('getIamPolicy', () => { + it('invokes getIamPolicy without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.GetIamPolicyRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy(), + ); + client.innerApiCalls.getIamPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.getIamPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.GetIamPolicyRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy(), + ); + client.innerApiCalls.getIamPolicy = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getIamPolicy( + request, + ( + err?: Error | null, + result?: protos.google.iam.v1.IPolicy | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.GetIamPolicyRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getIamPolicy = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getIamPolicy(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy with closed client', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.GetIamPolicyRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getIamPolicy(request), expectedError); + }); + }); + + describe('setIamPolicy', () => { + it('invokes setIamPolicy without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.SetIamPolicyRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy(), + ); + client.innerApiCalls.setIamPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.setIamPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.SetIamPolicyRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy(), + ); + client.innerApiCalls.setIamPolicy = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setIamPolicy( + request, + ( + err?: Error | null, + result?: protos.google.iam.v1.IPolicy | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.SetIamPolicyRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.setIamPolicy = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.setIamPolicy(request), expectedError); + const actualRequest = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy with closed client', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.SetIamPolicyRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.setIamPolicy(request), expectedError); + }); + }); + + describe('testIamPermissions', () => { + it('invokes testIamPermissions without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.TestIamPermissionsRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsResponse(), + ); + client.innerApiCalls.testIamPermissions = + stubSimpleCall(expectedResponse); + const [response] = await client.testIamPermissions(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.TestIamPermissionsRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsResponse(), + ); + client.innerApiCalls.testIamPermissions = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.testIamPermissions( + request, + ( + err?: Error | null, + result?: protos.google.iam.v1.ITestIamPermissionsResponse | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.TestIamPermissionsRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.testIamPermissions = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.testIamPermissions(request), expectedError); + const actualRequest = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions with closed client', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.TestIamPermissionsRequest', + ['resource'], + ); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.testIamPermissions(request), expectedError); + }); + }); + + describe('listNamespaces', () => { + it('invokes listNamespaces without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ), + ]; + client.innerApiCalls.listNamespaces = stubSimpleCall(expectedResponse); + const [response] = await client.listNamespaces(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listNamespaces as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listNamespaces as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listNamespaces without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ), + ]; + client.innerApiCalls.listNamespaces = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listNamespaces( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.servicedirectory.v1beta1.INamespace[] + | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listNamespaces as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listNamespaces as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listNamespaces with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listNamespaces = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.listNamespaces(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listNamespaces as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listNamespaces as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listNamespacesStream without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ), + ]; + client.descriptors.page.listNamespaces.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listNamespacesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicedirectory.v1beta1.Namespace[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.servicedirectory.v1beta1.Namespace, + ) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listNamespaces.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listNamespaces, request), + ); + assert( + (client.descriptors.page.listNamespaces.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('invokes listNamespacesStream with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listNamespaces.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listNamespacesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicedirectory.v1beta1.Namespace[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.servicedirectory.v1beta1.Namespace, + ) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listNamespaces.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listNamespaces, request), + ); + assert( + (client.descriptors.page.listNamespaces.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('uses async iteration with listNamespaces without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Namespace(), + ), + ]; + client.descriptors.page.listNamespaces.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.servicedirectory.v1beta1.INamespace[] = + []; + const iterable = client.listNamespacesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listNamespaces.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listNamespaces.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('uses async iteration with listNamespaces with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListNamespacesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listNamespaces.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listNamespacesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.servicedirectory.v1beta1.INamespace[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listNamespaces.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listNamespaces.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + }); + + describe('listServices', () => { + it('invokes listServices without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListServicesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListServicesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ), + ]; + client.innerApiCalls.listServices = stubSimpleCall(expectedResponse); + const [response] = await client.listServices(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listServices without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListServicesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListServicesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ), + ]; + client.innerApiCalls.listServices = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listServices( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.servicedirectory.v1beta1.IService[] + | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listServices with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListServicesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListServicesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listServices = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.listServices(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listServicesStream without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListServicesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListServicesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ), + ]; + client.descriptors.page.listServices.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listServicesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicedirectory.v1beta1.Service[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.servicedirectory.v1beta1.Service) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listServices.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listServices, request), + ); + assert( + (client.descriptors.page.listServices.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('invokes listServicesStream with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListServicesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListServicesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listServices.createStream = stubPageStreamingCall( + undefined, + expectedError, + ); + const stream = client.listServicesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicedirectory.v1beta1.Service[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.servicedirectory.v1beta1.Service) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listServices.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listServices, request), + ); + assert( + (client.descriptors.page.listServices.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('uses async iteration with listServices without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListServicesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListServicesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Service(), + ), + ]; + client.descriptors.page.listServices.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.servicedirectory.v1beta1.IService[] = + []; + const iterable = client.listServicesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listServices.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listServices.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('uses async iteration with listServices with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListServicesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListServicesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listServices.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listServicesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.servicedirectory.v1beta1.IService[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listServices.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listServices.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + }); + + describe('listEndpoints', () => { + it('invokes listEndpoints without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ), + ]; + client.innerApiCalls.listEndpoints = stubSimpleCall(expectedResponse); + const [response] = await client.listEndpoints(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listEndpoints as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listEndpoints as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listEndpoints without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ), + ]; + client.innerApiCalls.listEndpoints = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listEndpoints( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.servicedirectory.v1beta1.IEndpoint[] + | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listEndpoints as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listEndpoints as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listEndpoints with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listEndpoints = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.listEndpoints(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listEndpoints as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listEndpoints as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listEndpointsStream without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ), + ]; + client.descriptors.page.listEndpoints.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listEndpointsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicedirectory.v1beta1.Endpoint[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.servicedirectory.v1beta1.Endpoint) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listEndpoints.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listEndpoints, request), + ); + assert( + (client.descriptors.page.listEndpoints.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('invokes listEndpointsStream with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listEndpoints.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listEndpointsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicedirectory.v1beta1.Endpoint[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.servicedirectory.v1beta1.Endpoint) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listEndpoints.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listEndpoints, request), + ); + assert( + (client.descriptors.page.listEndpoints.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('uses async iteration with listEndpoints without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ), + generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.Endpoint(), + ), + ]; + client.descriptors.page.listEndpoints.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.servicedirectory.v1beta1.IEndpoint[] = + []; + const iterable = client.listEndpointsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listEndpoints.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listEndpoints.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('uses async iteration with listEndpoints with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicedirectory.v1beta1.ListEndpointsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listEndpoints.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listEndpointsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.servicedirectory.v1beta1.IEndpoint[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listEndpoints.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listEndpoints.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + }); + describe('getLocation', () => { + it('invokes getLocation without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = stubSimpleCall(expectedResponse); + const response = await client.getLocation(request, expectedOptions); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); + }); + it('invokes getLocation without error using callback', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getLocation( + request, + expectedOptions, + ( + err?: Error | null, + result?: LocationProtos.google.cloud.location.ILocation | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.locationsClient.getLocation as SinonStub).getCall(0)); + }); + it('invokes getLocation with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.locationsClient.getLocation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.getLocation(request, expectedOptions), + expectedError, + ); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); + }); + }); + describe('listLocationsAsync', () => { + it('uses async iteration with listLocations without error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedResponse = [ + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + ]; + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + const iterable = client.listLocationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + it('uses async iteration with listLocations with error', async () => { + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('expected'); + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listLocationsAsync(request); + await assert.rejects(async () => { + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + }); + + describe('Path templates', () => { + describe('endpoint', async () => { + const fakePath = '/rendered/path/endpoint'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + namespace: 'namespaceValue', + service: 'serviceValue', + endpoint: 'endpointValue', + }; + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.endpointPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.endpointPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('endpointPath', () => { + const result = client.endpointPath( + 'projectValue', + 'locationValue', + 'namespaceValue', + 'serviceValue', + 'endpointValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.endpointPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromEndpointName', () => { + const result = client.matchProjectFromEndpointName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromEndpointName', () => { + const result = client.matchLocationFromEndpointName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchNamespaceFromEndpointName', () => { + const result = client.matchNamespaceFromEndpointName(fakePath); + assert.strictEqual(result, 'namespaceValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchServiceFromEndpointName', () => { + const result = client.matchServiceFromEndpointName(fakePath); + assert.strictEqual(result, 'serviceValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchEndpointFromEndpointName', () => { + const result = client.matchEndpointFromEndpointName(fakePath); + assert.strictEqual(result, 'endpointValue'); + assert( + (client.pathTemplates.endpointPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); + + describe('location', async () => { + const fakePath = '/rendered/path/location'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + }; + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.locationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.locationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('locationPath', () => { + const result = client.locationPath('projectValue', 'locationValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.locationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromLocationName', () => { + const result = client.matchProjectFromLocationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromLocationName', () => { + const result = client.matchLocationFromLocationName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); + + describe('namespace', async () => { + const fakePath = '/rendered/path/namespace'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + namespace: 'namespaceValue', + }; + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.namespacePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.namespacePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('namespacePath', () => { + const result = client.namespacePath( + 'projectValue', + 'locationValue', + 'namespaceValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.namespacePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromNamespaceName', () => { + const result = client.matchProjectFromNamespaceName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.namespacePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromNamespaceName', () => { + const result = client.matchLocationFromNamespaceName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.namespacePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchNamespaceFromNamespaceName', () => { + const result = client.matchNamespaceFromNamespaceName(fakePath); + assert.strictEqual(result, 'namespaceValue'); + assert( + (client.pathTemplates.namespacePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); + + describe('service', async () => { + const fakePath = '/rendered/path/service'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + namespace: 'namespaceValue', + service: 'serviceValue', + }; + const client = + new registrationserviceModule.v1beta1.RegistrationServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.servicePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.servicePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('servicePath', () => { + const result = client.servicePath( + 'projectValue', + 'locationValue', + 'namespaceValue', + 'serviceValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.servicePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromServiceName', () => { + const result = client.matchProjectFromServiceName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromServiceName', () => { + const result = client.matchLocationFromServiceName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchNamespaceFromServiceName', () => { + const result = client.matchNamespaceFromServiceName(fakePath); + assert.strictEqual(result, 'namespaceValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchServiceFromServiceName', () => { + const result = client.matchServiceFromServiceName(fakePath); + assert.strictEqual(result, 'serviceValue'); + assert( + (client.pathTemplates.servicePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); }); + }); }); diff --git a/packages/google-cloud-servicedirectory/webpack.config.js b/packages/google-cloud-servicedirectory/webpack.config.js index 19c329bb29c1..a2f5474bdc72 100644 --- a/packages/google-cloud-servicedirectory/webpack.config.js +++ b/packages/google-cloud-servicedirectory/webpack.config.js @@ -1,4 +1,4 @@ -// Copyright 2026 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-servicehealth/README.md b/packages/google-cloud-servicehealth/README.md index 10b87e71d9c1..ab465377bc51 100644 --- a/packages/google-cloud-servicehealth/README.md +++ b/packages/google-cloud-servicehealth/README.md @@ -64,7 +64,6 @@ Samples are in the [`samples/`][homepage_samples] directory. Each sample's `READ | list events | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicehealth/samples/generated/v1/service_health.list_events.js) | | list organization events | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicehealth/samples/generated/v1/service_health.list_organization_events.js) | | list organization impacts | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicehealth/samples/generated/v1/service_health.list_organization_impacts.js) | -| cloud | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicehealth/samples/generated/v1/snippet_metadata_google.cloud.servicehealth.v1.json) | ## Supported Node.js Versions @@ -98,7 +97,7 @@ More Information: [Google Cloud Platform Launch Stages][launch_stages] ## Contributing -Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicehealth/CONTRIBUTING.md). +Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/main/CONTRIBUTING.md). Please note that this `README.md` and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`) @@ -108,7 +107,7 @@ are generated from a central template. Apache Version 2.0 -See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-servicehealth/LICENSE) +See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/LICENSE) [shell_img]: https://gstatic.com/cloudssh/images/open-btn.png [projects]: https://console.cloud.google.com/project diff --git a/packages/google-cloud-servicehealth/protos/protos.d.ts b/packages/google-cloud-servicehealth/protos/protos.d.ts index f4bf63ed0ec3..58796f67cb81 100644 --- a/packages/google-cloud-servicehealth/protos/protos.d.ts +++ b/packages/google-cloud-servicehealth/protos/protos.d.ts @@ -2880,6 +2880,9 @@ export namespace google { /** CommonLanguageSettings destinations */ destinations?: (google.api.ClientLibraryDestination[]|null); + + /** CommonLanguageSettings selectiveGapicGeneration */ + selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null); } /** Represents a CommonLanguageSettings. */ @@ -2897,6 +2900,9 @@ export namespace google { /** CommonLanguageSettings destinations. */ public destinations: google.api.ClientLibraryDestination[]; + /** CommonLanguageSettings selectiveGapicGeneration. */ + public selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null); + /** * Creates a new CommonLanguageSettings instance using the specified properties. * @param [properties] Properties to set @@ -3597,6 +3603,9 @@ export namespace google { /** PythonSettings common */ common?: (google.api.ICommonLanguageSettings|null); + + /** PythonSettings experimentalFeatures */ + experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|null); } /** Represents a PythonSettings. */ @@ -3611,6 +3620,9 @@ export namespace google { /** PythonSettings common. */ public common?: (google.api.ICommonLanguageSettings|null); + /** PythonSettings experimentalFeatures. */ + public experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|null); + /** * Creates a new PythonSettings instance using the specified properties. * @param [properties] Properties to set @@ -3689,6 +3701,118 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } + namespace PythonSettings { + + /** Properties of an ExperimentalFeatures. */ + interface IExperimentalFeatures { + + /** ExperimentalFeatures restAsyncIoEnabled */ + restAsyncIoEnabled?: (boolean|null); + + /** ExperimentalFeatures protobufPythonicTypesEnabled */ + protobufPythonicTypesEnabled?: (boolean|null); + + /** ExperimentalFeatures unversionedPackageDisabled */ + unversionedPackageDisabled?: (boolean|null); + } + + /** Represents an ExperimentalFeatures. */ + class ExperimentalFeatures implements IExperimentalFeatures { + + /** + * Constructs a new ExperimentalFeatures. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.PythonSettings.IExperimentalFeatures); + + /** ExperimentalFeatures restAsyncIoEnabled. */ + public restAsyncIoEnabled: boolean; + + /** ExperimentalFeatures protobufPythonicTypesEnabled. */ + public protobufPythonicTypesEnabled: boolean; + + /** ExperimentalFeatures unversionedPackageDisabled. */ + public unversionedPackageDisabled: boolean; + + /** + * Creates a new ExperimentalFeatures instance using the specified properties. + * @param [properties] Properties to set + * @returns ExperimentalFeatures instance + */ + public static create(properties?: google.api.PythonSettings.IExperimentalFeatures): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Encodes the specified ExperimentalFeatures message. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @param message ExperimentalFeatures message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExperimentalFeatures message, length delimited. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @param message ExperimentalFeatures message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Verifies an ExperimentalFeatures message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ExperimentalFeatures message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExperimentalFeatures + */ + public static fromObject(object: { [k: string]: any }): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Creates a plain object from an ExperimentalFeatures message. Also converts values to other types if specified. + * @param message ExperimentalFeatures + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.PythonSettings.ExperimentalFeatures, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExperimentalFeatures to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExperimentalFeatures + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + /** Properties of a NodeSettings. */ interface INodeSettings { @@ -4015,6 +4139,9 @@ export namespace google { /** GoSettings common */ common?: (google.api.ICommonLanguageSettings|null); + + /** GoSettings renamedServices */ + renamedServices?: ({ [k: string]: string }|null); } /** Represents a GoSettings. */ @@ -4029,6 +4156,9 @@ export namespace google { /** GoSettings common. */ public common?: (google.api.ICommonLanguageSettings|null); + /** GoSettings renamedServices. */ + public renamedServices: { [k: string]: string }; + /** * Creates a new GoSettings instance using the specified properties. * @param [properties] Properties to set @@ -4353,6 +4483,109 @@ export namespace google { PACKAGE_MANAGER = 20 } + /** Properties of a SelectiveGapicGeneration. */ + interface ISelectiveGapicGeneration { + + /** SelectiveGapicGeneration methods */ + methods?: (string[]|null); + + /** SelectiveGapicGeneration generateOmittedAsInternal */ + generateOmittedAsInternal?: (boolean|null); + } + + /** Represents a SelectiveGapicGeneration. */ + class SelectiveGapicGeneration implements ISelectiveGapicGeneration { + + /** + * Constructs a new SelectiveGapicGeneration. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.ISelectiveGapicGeneration); + + /** SelectiveGapicGeneration methods. */ + public methods: string[]; + + /** SelectiveGapicGeneration generateOmittedAsInternal. */ + public generateOmittedAsInternal: boolean; + + /** + * Creates a new SelectiveGapicGeneration instance using the specified properties. + * @param [properties] Properties to set + * @returns SelectiveGapicGeneration instance + */ + public static create(properties?: google.api.ISelectiveGapicGeneration): google.api.SelectiveGapicGeneration; + + /** + * Encodes the specified SelectiveGapicGeneration message. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @param message SelectiveGapicGeneration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SelectiveGapicGeneration message, length delimited. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @param message SelectiveGapicGeneration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.SelectiveGapicGeneration; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.SelectiveGapicGeneration; + + /** + * Verifies a SelectiveGapicGeneration message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SelectiveGapicGeneration message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SelectiveGapicGeneration + */ + public static fromObject(object: { [k: string]: any }): google.api.SelectiveGapicGeneration; + + /** + * Creates a plain object from a SelectiveGapicGeneration message. Also converts values to other types if specified. + * @param message SelectiveGapicGeneration + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.SelectiveGapicGeneration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SelectiveGapicGeneration to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SelectiveGapicGeneration + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + /** LaunchStage enum. */ enum LaunchStage { LAUNCH_STAGE_UNSPECIFIED = 0, @@ -4469,6 +4702,7 @@ export namespace google { /** Edition enum. */ enum Edition { EDITION_UNKNOWN = 0, + EDITION_LEGACY = 900, EDITION_PROTO2 = 998, EDITION_PROTO3 = 999, EDITION_2023 = 1000, @@ -4499,6 +4733,9 @@ export namespace google { /** FileDescriptorProto weakDependency */ weakDependency?: (number[]|null); + /** FileDescriptorProto optionDependency */ + optionDependency?: (string[]|null); + /** FileDescriptorProto messageType */ messageType?: (google.protobuf.IDescriptorProto[]|null); @@ -4548,6 +4785,9 @@ export namespace google { /** FileDescriptorProto weakDependency. */ public weakDependency: number[]; + /** FileDescriptorProto optionDependency. */ + public optionDependency: string[]; + /** FileDescriptorProto messageType. */ public messageType: google.protobuf.IDescriptorProto[]; @@ -4682,6 +4922,9 @@ export namespace google { /** DescriptorProto reservedName */ reservedName?: (string[]|null); + + /** DescriptorProto visibility */ + visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|null); } /** Represents a DescriptorProto. */ @@ -4723,6 +4966,9 @@ export namespace google { /** DescriptorProto reservedName. */ public reservedName: string[]; + /** DescriptorProto visibility. */ + public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility); + /** * Creates a new DescriptorProto instance using the specified properties. * @param [properties] Properties to set @@ -5570,6 +5816,9 @@ export namespace google { /** EnumDescriptorProto reservedName */ reservedName?: (string[]|null); + + /** EnumDescriptorProto visibility */ + visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|null); } /** Represents an EnumDescriptorProto. */ @@ -5596,6 +5845,9 @@ export namespace google { /** EnumDescriptorProto reservedName. */ public reservedName: string[]; + /** EnumDescriptorProto visibility. */ + public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility); + /** * Creates a new EnumDescriptorProto instance using the specified properties. * @param [properties] Properties to set @@ -6530,6 +6782,9 @@ export namespace google { /** FieldOptions features */ features?: (google.protobuf.IFeatureSet|null); + /** FieldOptions featureSupport */ + featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + /** FieldOptions uninterpretedOption */ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); @@ -6585,6 +6840,9 @@ export namespace google { /** FieldOptions features. */ public features?: (google.protobuf.IFeatureSet|null); + /** FieldOptions featureSupport. */ + public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + /** FieldOptions uninterpretedOption. */ public uninterpretedOption: google.protobuf.IUninterpretedOption[]; @@ -6805,6 +7063,121 @@ export namespace google { */ public static getTypeUrl(typeUrlPrefix?: string): string; } + + /** Properties of a FeatureSupport. */ + interface IFeatureSupport { + + /** FeatureSupport editionIntroduced */ + editionIntroduced?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + + /** FeatureSupport editionDeprecated */ + editionDeprecated?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + + /** FeatureSupport deprecationWarning */ + deprecationWarning?: (string|null); + + /** FeatureSupport editionRemoved */ + editionRemoved?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + } + + /** Represents a FeatureSupport. */ + class FeatureSupport implements IFeatureSupport { + + /** + * Constructs a new FeatureSupport. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.FieldOptions.IFeatureSupport); + + /** FeatureSupport editionIntroduced. */ + public editionIntroduced: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** FeatureSupport editionDeprecated. */ + public editionDeprecated: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** FeatureSupport deprecationWarning. */ + public deprecationWarning: string; + + /** FeatureSupport editionRemoved. */ + public editionRemoved: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** + * Creates a new FeatureSupport instance using the specified properties. + * @param [properties] Properties to set + * @returns FeatureSupport instance + */ + public static create(properties?: google.protobuf.FieldOptions.IFeatureSupport): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Encodes the specified FeatureSupport message. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @param message FeatureSupport message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FeatureSupport message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @param message FeatureSupport message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Verifies a FeatureSupport message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FeatureSupport message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FeatureSupport + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Creates a plain object from a FeatureSupport message. Also converts values to other types if specified. + * @param message FeatureSupport + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldOptions.FeatureSupport, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FeatureSupport to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FeatureSupport + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } } /** Properties of an OneofOptions. */ @@ -7043,6 +7416,9 @@ export namespace google { /** EnumValueOptions debugRedact */ debugRedact?: (boolean|null); + /** EnumValueOptions featureSupport */ + featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + /** EnumValueOptions uninterpretedOption */ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); } @@ -7065,6 +7441,9 @@ export namespace google { /** EnumValueOptions debugRedact. */ public debugRedact: boolean; + /** EnumValueOptions featureSupport. */ + public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + /** EnumValueOptions uninterpretedOption. */ public uninterpretedOption: google.protobuf.IUninterpretedOption[]; @@ -7654,6 +8033,12 @@ export namespace google { /** FeatureSet jsonFormat */ jsonFormat?: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat|null); + + /** FeatureSet enforceNamingStyle */ + enforceNamingStyle?: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle|null); + + /** FeatureSet defaultSymbolVisibility */ + defaultSymbolVisibility?: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|null); } /** Represents a FeatureSet. */ @@ -7683,6 +8068,12 @@ export namespace google { /** FeatureSet jsonFormat. */ public jsonFormat: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat); + /** FeatureSet enforceNamingStyle. */ + public enforceNamingStyle: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle); + + /** FeatureSet defaultSymbolVisibility. */ + public defaultSymbolVisibility: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility); + /** * Creates a new FeatureSet instance using the specified properties. * @param [properties] Properties to set @@ -7805,6 +8196,116 @@ export namespace google { ALLOW = 1, LEGACY_BEST_EFFORT = 2 } + + /** EnforceNamingStyle enum. */ + enum EnforceNamingStyle { + ENFORCE_NAMING_STYLE_UNKNOWN = 0, + STYLE2024 = 1, + STYLE_LEGACY = 2 + } + + /** Properties of a VisibilityFeature. */ + interface IVisibilityFeature { + } + + /** Represents a VisibilityFeature. */ + class VisibilityFeature implements IVisibilityFeature { + + /** + * Constructs a new VisibilityFeature. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.FeatureSet.IVisibilityFeature); + + /** + * Creates a new VisibilityFeature instance using the specified properties. + * @param [properties] Properties to set + * @returns VisibilityFeature instance + */ + public static create(properties?: google.protobuf.FeatureSet.IVisibilityFeature): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Encodes the specified VisibilityFeature message. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @param message VisibilityFeature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VisibilityFeature message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @param message VisibilityFeature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Verifies a VisibilityFeature message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VisibilityFeature message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VisibilityFeature + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Creates a plain object from a VisibilityFeature message. Also converts values to other types if specified. + * @param message VisibilityFeature + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FeatureSet.VisibilityFeature, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VisibilityFeature to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VisibilityFeature + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace VisibilityFeature { + + /** DefaultSymbolVisibility enum. */ + enum DefaultSymbolVisibility { + DEFAULT_SYMBOL_VISIBILITY_UNKNOWN = 0, + EXPORT_ALL = 1, + EXPORT_TOP_LEVEL = 2, + LOCAL_ALL = 3, + STRICT = 4 + } + } } /** Properties of a FeatureSetDefaults. */ @@ -7924,8 +8425,11 @@ export namespace google { /** FeatureSetEditionDefault edition */ edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); - /** FeatureSetEditionDefault features */ - features?: (google.protobuf.IFeatureSet|null); + /** FeatureSetEditionDefault overridableFeatures */ + overridableFeatures?: (google.protobuf.IFeatureSet|null); + + /** FeatureSetEditionDefault fixedFeatures */ + fixedFeatures?: (google.protobuf.IFeatureSet|null); } /** Represents a FeatureSetEditionDefault. */ @@ -7940,8 +8444,11 @@ export namespace google { /** FeatureSetEditionDefault edition. */ public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); - /** FeatureSetEditionDefault features. */ - public features?: (google.protobuf.IFeatureSet|null); + /** FeatureSetEditionDefault overridableFeatures. */ + public overridableFeatures?: (google.protobuf.IFeatureSet|null); + + /** FeatureSetEditionDefault fixedFeatures. */ + public fixedFeatures?: (google.protobuf.IFeatureSet|null); /** * Creates a new FeatureSetEditionDefault instance using the specified properties. @@ -8474,6 +8981,13 @@ export namespace google { } } + /** SymbolVisibility enum. */ + enum SymbolVisibility { + VISIBILITY_UNSET = 0, + VISIBILITY_LOCAL = 1, + VISIBILITY_EXPORT = 2 + } + /** Properties of a Timestamp. */ interface ITimestamp { diff --git a/packages/google-cloud-servicehealth/protos/protos.js b/packages/google-cloud-servicehealth/protos/protos.js index 7c6802576dc5..e92ccfc4105e 100644 --- a/packages/google-cloud-servicehealth/protos/protos.js +++ b/packages/google-cloud-servicehealth/protos/protos.js @@ -102,7 +102,7 @@ this.updates = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -309,9 +309,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Event.decode = function decode(reader, length, error) { + Event.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.Event(); while (reader.pos < end) { var tag = reader.uint32(); @@ -349,7 +353,7 @@ case 20: { if (!(message.eventImpacts && message.eventImpacts.length)) message.eventImpacts = []; - message.eventImpacts.push($root.google.cloud.servicehealth.v1.EventImpact.decode(reader, reader.uint32())); + message.eventImpacts.push($root.google.cloud.servicehealth.v1.EventImpact.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { @@ -359,7 +363,7 @@ case 9: { if (!(message.updates && message.updates.length)) message.updates = []; - message.updates.push($root.google.cloud.servicehealth.v1.EventUpdate.decode(reader, reader.uint32())); + message.updates.push($root.google.cloud.servicehealth.v1.EventUpdate.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 10: { @@ -367,23 +371,23 @@ break; } case 12: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 13: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 14: { - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 15: { - message.nextUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.nextUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -414,9 +418,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Event.verify = function verify(message) { + Event.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -469,7 +477,7 @@ if (!Array.isArray(message.eventImpacts)) return "eventImpacts: array expected"; for (var i = 0; i < message.eventImpacts.length; ++i) { - var error = $root.google.cloud.servicehealth.v1.EventImpact.verify(message.eventImpacts[i]); + var error = $root.google.cloud.servicehealth.v1.EventImpact.verify(message.eventImpacts[i], long + 1); if (error) return "eventImpacts." + error; } @@ -490,7 +498,7 @@ if (!Array.isArray(message.updates)) return "updates: array expected"; for (var i = 0; i < message.updates.length; ++i) { - var error = $root.google.cloud.servicehealth.v1.EventUpdate.verify(message.updates[i]); + var error = $root.google.cloud.servicehealth.v1.EventUpdate.verify(message.updates[i], long + 1); if (error) return "updates." + error; } @@ -499,22 +507,22 @@ if (!$util.isString(message.parentEvent)) return "parentEvent: string expected"; if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } if (message.endTime != null && message.hasOwnProperty("endTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.endTime); + var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1); if (error) return "endTime." + error; } if (message.nextUpdateTime != null && message.hasOwnProperty("nextUpdateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.nextUpdateTime); + var error = $root.google.protobuf.Timestamp.verify(message.nextUpdateTime, long + 1); if (error) return "nextUpdateTime." + error; } @@ -529,9 +537,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.Event} Event */ - Event.fromObject = function fromObject(object) { + Event.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.Event) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.Event(); if (object.name != null) message.name = String(object.name); @@ -638,7 +650,7 @@ for (var i = 0; i < object.eventImpacts.length; ++i) { if (typeof object.eventImpacts[i] !== "object") throw TypeError(".google.cloud.servicehealth.v1.Event.eventImpacts: object expected"); - message.eventImpacts[i] = $root.google.cloud.servicehealth.v1.EventImpact.fromObject(object.eventImpacts[i]); + message.eventImpacts[i] = $root.google.cloud.servicehealth.v1.EventImpact.fromObject(object.eventImpacts[i], long + 1); } } switch (object.relevance) { @@ -680,7 +692,7 @@ for (var i = 0; i < object.updates.length; ++i) { if (typeof object.updates[i] !== "object") throw TypeError(".google.cloud.servicehealth.v1.Event.updates: object expected"); - message.updates[i] = $root.google.cloud.servicehealth.v1.EventUpdate.fromObject(object.updates[i]); + message.updates[i] = $root.google.cloud.servicehealth.v1.EventUpdate.fromObject(object.updates[i], long + 1); } } if (object.parentEvent != null) @@ -688,22 +700,22 @@ if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.servicehealth.v1.Event.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.cloud.servicehealth.v1.Event.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } if (object.endTime != null) { if (typeof object.endTime !== "object") throw TypeError(".google.cloud.servicehealth.v1.Event.endTime: object expected"); - message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1); } if (object.nextUpdateTime != null) { if (typeof object.nextUpdateTime !== "object") throw TypeError(".google.cloud.servicehealth.v1.Event.nextUpdateTime: object expected"); - message.nextUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.nextUpdateTime); + message.nextUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.nextUpdateTime, long + 1); } return message; }; @@ -935,7 +947,7 @@ this.updates = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1132,9 +1144,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OrganizationEvent.decode = function decode(reader, length, error) { + OrganizationEvent.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.OrganizationEvent(); while (reader.pos < end) { var tag = reader.uint32(); @@ -1172,13 +1188,13 @@ case 15: { if (!(message.eventImpacts && message.eventImpacts.length)) message.eventImpacts = []; - message.eventImpacts.push($root.google.cloud.servicehealth.v1.EventImpact.decode(reader, reader.uint32())); + message.eventImpacts.push($root.google.cloud.servicehealth.v1.EventImpact.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { if (!(message.updates && message.updates.length)) message.updates = []; - message.updates.push($root.google.cloud.servicehealth.v1.EventUpdate.decode(reader, reader.uint32())); + message.updates.push($root.google.cloud.servicehealth.v1.EventUpdate.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 9: { @@ -1186,23 +1202,23 @@ break; } case 11: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 12: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 13: { - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 14: { - message.nextUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.nextUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1233,9 +1249,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OrganizationEvent.verify = function verify(message) { + OrganizationEvent.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -1288,7 +1308,7 @@ if (!Array.isArray(message.eventImpacts)) return "eventImpacts: array expected"; for (var i = 0; i < message.eventImpacts.length; ++i) { - var error = $root.google.cloud.servicehealth.v1.EventImpact.verify(message.eventImpacts[i]); + var error = $root.google.cloud.servicehealth.v1.EventImpact.verify(message.eventImpacts[i], long + 1); if (error) return "eventImpacts." + error; } @@ -1297,7 +1317,7 @@ if (!Array.isArray(message.updates)) return "updates: array expected"; for (var i = 0; i < message.updates.length; ++i) { - var error = $root.google.cloud.servicehealth.v1.EventUpdate.verify(message.updates[i]); + var error = $root.google.cloud.servicehealth.v1.EventUpdate.verify(message.updates[i], long + 1); if (error) return "updates." + error; } @@ -1306,22 +1326,22 @@ if (!$util.isString(message.parentEvent)) return "parentEvent: string expected"; if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } if (message.endTime != null && message.hasOwnProperty("endTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.endTime); + var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1); if (error) return "endTime." + error; } if (message.nextUpdateTime != null && message.hasOwnProperty("nextUpdateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.nextUpdateTime); + var error = $root.google.protobuf.Timestamp.verify(message.nextUpdateTime, long + 1); if (error) return "nextUpdateTime." + error; } @@ -1336,9 +1356,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.OrganizationEvent} OrganizationEvent */ - OrganizationEvent.fromObject = function fromObject(object) { + OrganizationEvent.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.OrganizationEvent) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.OrganizationEvent(); if (object.name != null) message.name = String(object.name); @@ -1445,7 +1469,7 @@ for (var i = 0; i < object.eventImpacts.length; ++i) { if (typeof object.eventImpacts[i] !== "object") throw TypeError(".google.cloud.servicehealth.v1.OrganizationEvent.eventImpacts: object expected"); - message.eventImpacts[i] = $root.google.cloud.servicehealth.v1.EventImpact.fromObject(object.eventImpacts[i]); + message.eventImpacts[i] = $root.google.cloud.servicehealth.v1.EventImpact.fromObject(object.eventImpacts[i], long + 1); } } if (object.updates) { @@ -1455,7 +1479,7 @@ for (var i = 0; i < object.updates.length; ++i) { if (typeof object.updates[i] !== "object") throw TypeError(".google.cloud.servicehealth.v1.OrganizationEvent.updates: object expected"); - message.updates[i] = $root.google.cloud.servicehealth.v1.EventUpdate.fromObject(object.updates[i]); + message.updates[i] = $root.google.cloud.servicehealth.v1.EventUpdate.fromObject(object.updates[i], long + 1); } } if (object.parentEvent != null) @@ -1463,22 +1487,22 @@ if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.servicehealth.v1.OrganizationEvent.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.cloud.servicehealth.v1.OrganizationEvent.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } if (object.endTime != null) { if (typeof object.endTime !== "object") throw TypeError(".google.cloud.servicehealth.v1.OrganizationEvent.endTime: object expected"); - message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1); } if (object.nextUpdateTime != null) { if (typeof object.nextUpdateTime !== "object") throw TypeError(".google.cloud.servicehealth.v1.OrganizationEvent.nextUpdateTime: object expected"); - message.nextUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.nextUpdateTime); + message.nextUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.nextUpdateTime, long + 1); } return message; }; @@ -1674,7 +1698,7 @@ function EventUpdate(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1779,9 +1803,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EventUpdate.decode = function decode(reader, length, error) { + EventUpdate.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.EventUpdate(); while (reader.pos < end) { var tag = reader.uint32(); @@ -1789,7 +1817,7 @@ break; switch (tag >>> 3) { case 1: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -1809,7 +1837,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1840,11 +1868,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EventUpdate.verify = function verify(message) { + EventUpdate.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -1871,14 +1903,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.EventUpdate} EventUpdate */ - EventUpdate.fromObject = function fromObject(object) { + EventUpdate.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.EventUpdate) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.EventUpdate(); if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.servicehealth.v1.EventUpdate.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.title != null) message.title = String(object.title); @@ -1973,7 +2009,7 @@ function Location(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2038,9 +2074,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Location.decode = function decode(reader, length, error) { + Location.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.Location(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2052,7 +2092,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2083,9 +2123,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Location.verify = function verify(message) { + Location.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.locationName != null && message.hasOwnProperty("locationName")) if (!$util.isString(message.locationName)) return "locationName: string expected"; @@ -2100,9 +2144,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.Location} Location */ - Location.fromObject = function fromObject(object) { + Location.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.Location) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.Location(); if (object.locationName != null) message.locationName = String(object.locationName); @@ -2179,7 +2227,7 @@ function Product(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2254,9 +2302,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Product.decode = function decode(reader, length, error) { + Product.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.Product(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2272,7 +2324,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2303,9 +2355,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Product.verify = function verify(message) { + Product.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.productName != null && message.hasOwnProperty("productName")) if (!$util.isString(message.productName)) return "productName: string expected"; @@ -2323,9 +2379,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.Product} Product */ - Product.fromObject = function fromObject(object) { + Product.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.Product) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.Product(); if (object.productName != null) message.productName = String(object.productName); @@ -2408,7 +2468,7 @@ function EventImpact(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2483,9 +2543,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EventImpact.decode = function decode(reader, length, error) { + EventImpact.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.EventImpact(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2493,15 +2557,15 @@ break; switch (tag >>> 3) { case 1: { - message.product = $root.google.cloud.servicehealth.v1.Product.decode(reader, reader.uint32()); + message.product = $root.google.cloud.servicehealth.v1.Product.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.location = $root.google.cloud.servicehealth.v1.Location.decode(reader, reader.uint32()); + message.location = $root.google.cloud.servicehealth.v1.Location.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2532,16 +2596,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EventImpact.verify = function verify(message) { + EventImpact.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.product != null && message.hasOwnProperty("product")) { - var error = $root.google.cloud.servicehealth.v1.Product.verify(message.product); + var error = $root.google.cloud.servicehealth.v1.Product.verify(message.product, long + 1); if (error) return "product." + error; } if (message.location != null && message.hasOwnProperty("location")) { - var error = $root.google.cloud.servicehealth.v1.Location.verify(message.location); + var error = $root.google.cloud.servicehealth.v1.Location.verify(message.location, long + 1); if (error) return "location." + error; } @@ -2556,19 +2624,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.EventImpact} EventImpact */ - EventImpact.fromObject = function fromObject(object) { + EventImpact.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.EventImpact) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.EventImpact(); if (object.product != null) { if (typeof object.product !== "object") throw TypeError(".google.cloud.servicehealth.v1.EventImpact.product: object expected"); - message.product = $root.google.cloud.servicehealth.v1.Product.fromObject(object.product); + message.product = $root.google.cloud.servicehealth.v1.Product.fromObject(object.product, long + 1); } if (object.location != null) { if (typeof object.location !== "object") throw TypeError(".google.cloud.servicehealth.v1.EventImpact.location: object expected"); - message.location = $root.google.cloud.servicehealth.v1.Location.fromObject(object.location); + message.location = $root.google.cloud.servicehealth.v1.Location.fromObject(object.location, long + 1); } return message; }; @@ -2650,7 +2722,7 @@ this.events = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2746,9 +2818,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OrganizationImpact.decode = function decode(reader, length, error) { + OrganizationImpact.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.OrganizationImpact(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2766,15 +2842,15 @@ break; } case 3: { - message.asset = $root.google.cloud.servicehealth.v1.Asset.decode(reader, reader.uint32()); + message.asset = $root.google.cloud.servicehealth.v1.Asset.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2805,9 +2881,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OrganizationImpact.verify = function verify(message) { + OrganizationImpact.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -2819,12 +2899,12 @@ return "events: string[] expected"; } if (message.asset != null && message.hasOwnProperty("asset")) { - var error = $root.google.cloud.servicehealth.v1.Asset.verify(message.asset); + var error = $root.google.cloud.servicehealth.v1.Asset.verify(message.asset, long + 1); if (error) return "asset." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -2839,9 +2919,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.OrganizationImpact} OrganizationImpact */ - OrganizationImpact.fromObject = function fromObject(object) { + OrganizationImpact.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.OrganizationImpact) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.OrganizationImpact(); if (object.name != null) message.name = String(object.name); @@ -2855,12 +2939,12 @@ if (object.asset != null) { if (typeof object.asset !== "object") throw TypeError(".google.cloud.servicehealth.v1.OrganizationImpact.asset: object expected"); - message.asset = $root.google.cloud.servicehealth.v1.Asset.fromObject(object.asset); + message.asset = $root.google.cloud.servicehealth.v1.Asset.fromObject(object.asset, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.servicehealth.v1.OrganizationImpact.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } return message; }; @@ -2949,7 +3033,7 @@ function Asset(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3024,9 +3108,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Asset.decode = function decode(reader, length, error) { + Asset.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.Asset(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3042,7 +3130,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3073,9 +3161,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Asset.verify = function verify(message) { + Asset.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.assetName != null && message.hasOwnProperty("assetName")) if (!$util.isString(message.assetName)) return "assetName: string expected"; @@ -3093,9 +3185,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.Asset} Asset */ - Asset.fromObject = function fromObject(object) { + Asset.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.Asset) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.Asset(); if (object.assetName != null) message.assetName = String(object.assetName); @@ -3181,7 +3277,7 @@ function ListEventsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3286,9 +3382,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEventsRequest.decode = function decode(reader, length, error) { + ListEventsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.ListEventsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3316,7 +3416,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3347,9 +3447,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEventsRequest.verify = function verify(message) { + ListEventsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -3382,9 +3486,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.ListEventsRequest} ListEventsRequest */ - ListEventsRequest.fromObject = function fromObject(object) { + ListEventsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.ListEventsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.ListEventsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -3503,7 +3611,7 @@ this.unreachable = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3590,9 +3698,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListEventsResponse.decode = function decode(reader, length, error) { + ListEventsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.ListEventsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3602,7 +3714,7 @@ case 1: { if (!(message.events && message.events.length)) message.events = []; - message.events.push($root.google.cloud.servicehealth.v1.Event.decode(reader, reader.uint32())); + message.events.push($root.google.cloud.servicehealth.v1.Event.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -3616,7 +3728,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3647,14 +3759,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListEventsResponse.verify = function verify(message) { + ListEventsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.events != null && message.hasOwnProperty("events")) { if (!Array.isArray(message.events)) return "events: array expected"; for (var i = 0; i < message.events.length; ++i) { - var error = $root.google.cloud.servicehealth.v1.Event.verify(message.events[i]); + var error = $root.google.cloud.servicehealth.v1.Event.verify(message.events[i], long + 1); if (error) return "events." + error; } @@ -3680,9 +3796,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.ListEventsResponse} ListEventsResponse */ - ListEventsResponse.fromObject = function fromObject(object) { + ListEventsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.ListEventsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.ListEventsResponse(); if (object.events) { if (!Array.isArray(object.events)) @@ -3691,7 +3811,7 @@ for (var i = 0; i < object.events.length; ++i) { if (typeof object.events[i] !== "object") throw TypeError(".google.cloud.servicehealth.v1.ListEventsResponse.events: object expected"); - message.events[i] = $root.google.cloud.servicehealth.v1.Event.fromObject(object.events[i]); + message.events[i] = $root.google.cloud.servicehealth.v1.Event.fromObject(object.events[i], long + 1); } } if (object.nextPageToken != null) @@ -3789,7 +3909,7 @@ function GetEventRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3854,9 +3974,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetEventRequest.decode = function decode(reader, length, error) { + GetEventRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.GetEventRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3868,7 +3992,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3899,9 +4023,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetEventRequest.verify = function verify(message) { + GetEventRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -3916,9 +4044,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.GetEventRequest} GetEventRequest */ - GetEventRequest.fromObject = function fromObject(object) { + GetEventRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.GetEventRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.GetEventRequest(); if (object.name != null) message.name = String(object.name); @@ -3998,7 +4130,7 @@ function ListOrganizationEventsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4103,9 +4235,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListOrganizationEventsRequest.decode = function decode(reader, length, error) { + ListOrganizationEventsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.ListOrganizationEventsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4133,7 +4269,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4164,9 +4300,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListOrganizationEventsRequest.verify = function verify(message) { + ListOrganizationEventsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -4199,9 +4339,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.ListOrganizationEventsRequest} ListOrganizationEventsRequest */ - ListOrganizationEventsRequest.fromObject = function fromObject(object) { + ListOrganizationEventsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.ListOrganizationEventsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.ListOrganizationEventsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -4320,7 +4464,7 @@ this.unreachable = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4407,9 +4551,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListOrganizationEventsResponse.decode = function decode(reader, length, error) { + ListOrganizationEventsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.ListOrganizationEventsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4419,7 +4567,7 @@ case 1: { if (!(message.organizationEvents && message.organizationEvents.length)) message.organizationEvents = []; - message.organizationEvents.push($root.google.cloud.servicehealth.v1.OrganizationEvent.decode(reader, reader.uint32())); + message.organizationEvents.push($root.google.cloud.servicehealth.v1.OrganizationEvent.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -4433,7 +4581,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4464,14 +4612,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListOrganizationEventsResponse.verify = function verify(message) { + ListOrganizationEventsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.organizationEvents != null && message.hasOwnProperty("organizationEvents")) { if (!Array.isArray(message.organizationEvents)) return "organizationEvents: array expected"; for (var i = 0; i < message.organizationEvents.length; ++i) { - var error = $root.google.cloud.servicehealth.v1.OrganizationEvent.verify(message.organizationEvents[i]); + var error = $root.google.cloud.servicehealth.v1.OrganizationEvent.verify(message.organizationEvents[i], long + 1); if (error) return "organizationEvents." + error; } @@ -4497,9 +4649,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.ListOrganizationEventsResponse} ListOrganizationEventsResponse */ - ListOrganizationEventsResponse.fromObject = function fromObject(object) { + ListOrganizationEventsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.ListOrganizationEventsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.ListOrganizationEventsResponse(); if (object.organizationEvents) { if (!Array.isArray(object.organizationEvents)) @@ -4508,7 +4664,7 @@ for (var i = 0; i < object.organizationEvents.length; ++i) { if (typeof object.organizationEvents[i] !== "object") throw TypeError(".google.cloud.servicehealth.v1.ListOrganizationEventsResponse.organizationEvents: object expected"); - message.organizationEvents[i] = $root.google.cloud.servicehealth.v1.OrganizationEvent.fromObject(object.organizationEvents[i]); + message.organizationEvents[i] = $root.google.cloud.servicehealth.v1.OrganizationEvent.fromObject(object.organizationEvents[i], long + 1); } } if (object.nextPageToken != null) @@ -4606,7 +4762,7 @@ function GetOrganizationEventRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4671,9 +4827,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetOrganizationEventRequest.decode = function decode(reader, length, error) { + GetOrganizationEventRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.GetOrganizationEventRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4685,7 +4845,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4716,9 +4876,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetOrganizationEventRequest.verify = function verify(message) { + GetOrganizationEventRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -4733,9 +4897,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.GetOrganizationEventRequest} GetOrganizationEventRequest */ - GetOrganizationEventRequest.fromObject = function fromObject(object) { + GetOrganizationEventRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.GetOrganizationEventRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.GetOrganizationEventRequest(); if (object.name != null) message.name = String(object.name); @@ -4814,7 +4982,7 @@ function ListOrganizationImpactsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4909,9 +5077,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListOrganizationImpactsRequest.decode = function decode(reader, length, error) { + ListOrganizationImpactsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4935,7 +5107,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4966,9 +5138,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListOrganizationImpactsRequest.verify = function verify(message) { + ListOrganizationImpactsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -4992,9 +5168,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.ListOrganizationImpactsRequest} ListOrganizationImpactsRequest */ - ListOrganizationImpactsRequest.fromObject = function fromObject(object) { + ListOrganizationImpactsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -5090,7 +5270,7 @@ this.unreachable = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5177,9 +5357,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListOrganizationImpactsResponse.decode = function decode(reader, length, error) { + ListOrganizationImpactsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.ListOrganizationImpactsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5189,7 +5373,7 @@ case 1: { if (!(message.organizationImpacts && message.organizationImpacts.length)) message.organizationImpacts = []; - message.organizationImpacts.push($root.google.cloud.servicehealth.v1.OrganizationImpact.decode(reader, reader.uint32())); + message.organizationImpacts.push($root.google.cloud.servicehealth.v1.OrganizationImpact.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -5203,7 +5387,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5234,14 +5418,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListOrganizationImpactsResponse.verify = function verify(message) { + ListOrganizationImpactsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.organizationImpacts != null && message.hasOwnProperty("organizationImpacts")) { if (!Array.isArray(message.organizationImpacts)) return "organizationImpacts: array expected"; for (var i = 0; i < message.organizationImpacts.length; ++i) { - var error = $root.google.cloud.servicehealth.v1.OrganizationImpact.verify(message.organizationImpacts[i]); + var error = $root.google.cloud.servicehealth.v1.OrganizationImpact.verify(message.organizationImpacts[i], long + 1); if (error) return "organizationImpacts." + error; } @@ -5267,9 +5455,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.ListOrganizationImpactsResponse} ListOrganizationImpactsResponse */ - ListOrganizationImpactsResponse.fromObject = function fromObject(object) { + ListOrganizationImpactsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.ListOrganizationImpactsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.ListOrganizationImpactsResponse(); if (object.organizationImpacts) { if (!Array.isArray(object.organizationImpacts)) @@ -5278,7 +5470,7 @@ for (var i = 0; i < object.organizationImpacts.length; ++i) { if (typeof object.organizationImpacts[i] !== "object") throw TypeError(".google.cloud.servicehealth.v1.ListOrganizationImpactsResponse.organizationImpacts: object expected"); - message.organizationImpacts[i] = $root.google.cloud.servicehealth.v1.OrganizationImpact.fromObject(object.organizationImpacts[i]); + message.organizationImpacts[i] = $root.google.cloud.servicehealth.v1.OrganizationImpact.fromObject(object.organizationImpacts[i], long + 1); } } if (object.nextPageToken != null) @@ -5376,7 +5568,7 @@ function GetOrganizationImpactRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5441,9 +5633,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetOrganizationImpactRequest.decode = function decode(reader, length, error) { + GetOrganizationImpactRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.servicehealth.v1.GetOrganizationImpactRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5455,7 +5651,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5486,9 +5682,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetOrganizationImpactRequest.verify = function verify(message) { + GetOrganizationImpactRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -5503,9 +5703,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.servicehealth.v1.GetOrganizationImpactRequest} GetOrganizationImpactRequest */ - GetOrganizationImpactRequest.fromObject = function fromObject(object) { + GetOrganizationImpactRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.servicehealth.v1.GetOrganizationImpactRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.servicehealth.v1.GetOrganizationImpactRequest(); if (object.name != null) message.name = String(object.name); @@ -5900,7 +6104,7 @@ this.style = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6030,9 +6234,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceDescriptor.decode = function decode(reader, length, error) { + ResourceDescriptor.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceDescriptor(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6077,7 +6285,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6108,9 +6316,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceDescriptor.verify = function verify(message) { + ResourceDescriptor.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -6162,9 +6374,13 @@ * @param {Object.} object Plain object * @returns {google.api.ResourceDescriptor} ResourceDescriptor */ - ResourceDescriptor.fromObject = function fromObject(object) { + ResourceDescriptor.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ResourceDescriptor) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ResourceDescriptor(); if (object.type != null) message.type = String(object.type); @@ -6352,7 +6568,7 @@ function ResourceReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6427,9 +6643,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceReference.decode = function decode(reader, length, error) { + ResourceReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6445,7 +6665,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6476,9 +6696,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceReference.verify = function verify(message) { + ResourceReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -6496,9 +6720,13 @@ * @param {Object.} object Plain object * @returns {google.api.ResourceReference} ResourceReference */ - ResourceReference.fromObject = function fromObject(object) { + ResourceReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ResourceReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ResourceReference(); if (object.type != null) message.type = String(object.type); @@ -6582,7 +6810,7 @@ this.rules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6658,9 +6886,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Http.decode = function decode(reader, length, error) { + Http.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6670,7 +6902,7 @@ case 1: { if (!(message.rules && message.rules.length)) message.rules = []; - message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -6678,7 +6910,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6709,14 +6941,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Http.verify = function verify(message) { + Http.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.rules != null && message.hasOwnProperty("rules")) { if (!Array.isArray(message.rules)) return "rules: array expected"; for (var i = 0; i < message.rules.length; ++i) { - var error = $root.google.api.HttpRule.verify(message.rules[i]); + var error = $root.google.api.HttpRule.verify(message.rules[i], long + 1); if (error) return "rules." + error; } @@ -6735,9 +6971,13 @@ * @param {Object.} object Plain object * @returns {google.api.Http} Http */ - Http.fromObject = function fromObject(object) { + Http.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.Http) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.Http(); if (object.rules) { if (!Array.isArray(object.rules)) @@ -6746,7 +6986,7 @@ for (var i = 0; i < object.rules.length; ++i) { if (typeof object.rules[i] !== "object") throw TypeError(".google.api.Http.rules: object expected"); - message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i]); + message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i], long + 1); } } if (object.fullyDecodeReservedExpansion != null) @@ -6840,7 +7080,7 @@ this.additionalBindings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7010,9 +7250,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HttpRule.decode = function decode(reader, length, error) { + HttpRule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7044,7 +7288,7 @@ break; } case 8: { - message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32()); + message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -7058,11 +7302,11 @@ case 11: { if (!(message.additionalBindings && message.additionalBindings.length)) message.additionalBindings = []; - message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7093,9 +7337,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - HttpRule.verify = function verify(message) { + HttpRule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.selector != null && message.hasOwnProperty("selector")) if (!$util.isString(message.selector)) @@ -7138,7 +7386,7 @@ return "pattern: multiple values"; properties.pattern = 1; { - var error = $root.google.api.CustomHttpPattern.verify(message.custom); + var error = $root.google.api.CustomHttpPattern.verify(message.custom, long + 1); if (error) return "custom." + error; } @@ -7153,7 +7401,7 @@ if (!Array.isArray(message.additionalBindings)) return "additionalBindings: array expected"; for (var i = 0; i < message.additionalBindings.length; ++i) { - var error = $root.google.api.HttpRule.verify(message.additionalBindings[i]); + var error = $root.google.api.HttpRule.verify(message.additionalBindings[i], long + 1); if (error) return "additionalBindings." + error; } @@ -7169,9 +7417,13 @@ * @param {Object.} object Plain object * @returns {google.api.HttpRule} HttpRule */ - HttpRule.fromObject = function fromObject(object) { + HttpRule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.HttpRule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.HttpRule(); if (object.selector != null) message.selector = String(object.selector); @@ -7188,7 +7440,7 @@ if (object.custom != null) { if (typeof object.custom !== "object") throw TypeError(".google.api.HttpRule.custom: object expected"); - message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom); + message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom, long + 1); } if (object.body != null) message.body = String(object.body); @@ -7201,7 +7453,7 @@ for (var i = 0; i < object.additionalBindings.length; ++i) { if (typeof object.additionalBindings[i] !== "object") throw TypeError(".google.api.HttpRule.additionalBindings: object expected"); - message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i]); + message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i], long + 1); } } return message; @@ -7321,7 +7573,7 @@ function CustomHttpPattern(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7396,9 +7648,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomHttpPattern.decode = function decode(reader, length, error) { + CustomHttpPattern.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7414,7 +7670,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7445,9 +7701,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CustomHttpPattern.verify = function verify(message) { + CustomHttpPattern.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.kind != null && message.hasOwnProperty("kind")) if (!$util.isString(message.kind)) return "kind: string expected"; @@ -7465,9 +7725,13 @@ * @param {Object.} object Plain object * @returns {google.api.CustomHttpPattern} CustomHttpPattern */ - CustomHttpPattern.fromObject = function fromObject(object) { + CustomHttpPattern.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CustomHttpPattern) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CustomHttpPattern(); if (object.kind != null) message.kind = String(object.kind); @@ -7537,6 +7801,7 @@ * @interface ICommonLanguageSettings * @property {string|null} [referenceDocsUri] CommonLanguageSettings referenceDocsUri * @property {Array.|null} [destinations] CommonLanguageSettings destinations + * @property {google.api.ISelectiveGapicGeneration|null} [selectiveGapicGeneration] CommonLanguageSettings selectiveGapicGeneration */ /** @@ -7551,7 +7816,7 @@ this.destinations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7571,6 +7836,14 @@ */ CommonLanguageSettings.prototype.destinations = $util.emptyArray; + /** + * CommonLanguageSettings selectiveGapicGeneration. + * @member {google.api.ISelectiveGapicGeneration|null|undefined} selectiveGapicGeneration + * @memberof google.api.CommonLanguageSettings + * @instance + */ + CommonLanguageSettings.prototype.selectiveGapicGeneration = null; + /** * Creates a new CommonLanguageSettings instance using the specified properties. * @function create @@ -7603,6 +7876,8 @@ writer.int32(message.destinations[i]); writer.ldelim(); } + if (message.selectiveGapicGeneration != null && Object.hasOwnProperty.call(message, "selectiveGapicGeneration")) + $root.google.api.SelectiveGapicGeneration.encode(message.selectiveGapicGeneration, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -7630,9 +7905,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CommonLanguageSettings.decode = function decode(reader, length, error) { + CommonLanguageSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CommonLanguageSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7654,8 +7933,12 @@ message.destinations.push(reader.int32()); break; } + case 3: { + message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.decode(reader, reader.uint32(), undefined, long + 1); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7686,9 +7969,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CommonLanguageSettings.verify = function verify(message) { + CommonLanguageSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri")) if (!$util.isString(message.referenceDocsUri)) return "referenceDocsUri: string expected"; @@ -7705,6 +7992,11 @@ break; } } + if (message.selectiveGapicGeneration != null && message.hasOwnProperty("selectiveGapicGeneration")) { + var error = $root.google.api.SelectiveGapicGeneration.verify(message.selectiveGapicGeneration, long + 1); + if (error) + return "selectiveGapicGeneration." + error; + } return null; }; @@ -7716,9 +8008,13 @@ * @param {Object.} object Plain object * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings */ - CommonLanguageSettings.fromObject = function fromObject(object) { + CommonLanguageSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CommonLanguageSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CommonLanguageSettings(); if (object.referenceDocsUri != null) message.referenceDocsUri = String(object.referenceDocsUri); @@ -7747,6 +8043,11 @@ break; } } + if (object.selectiveGapicGeneration != null) { + if (typeof object.selectiveGapicGeneration !== "object") + throw TypeError(".google.api.CommonLanguageSettings.selectiveGapicGeneration: object expected"); + message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.fromObject(object.selectiveGapicGeneration, long + 1); + } return message; }; @@ -7765,8 +8066,10 @@ var object = {}; if (options.arrays || options.defaults) object.destinations = []; - if (options.defaults) + if (options.defaults) { object.referenceDocsUri = ""; + object.selectiveGapicGeneration = null; + } if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri")) object.referenceDocsUri = message.referenceDocsUri; if (message.destinations && message.destinations.length) { @@ -7774,6 +8077,8 @@ for (var j = 0; j < message.destinations.length; ++j) object.destinations[j] = options.enums === String ? $root.google.api.ClientLibraryDestination[message.destinations[j]] === undefined ? message.destinations[j] : $root.google.api.ClientLibraryDestination[message.destinations[j]] : message.destinations[j]; } + if (message.selectiveGapicGeneration != null && message.hasOwnProperty("selectiveGapicGeneration")) + object.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.toObject(message.selectiveGapicGeneration, options); return object; }; @@ -7836,7 +8141,7 @@ function ClientLibrarySettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8001,9 +8306,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClientLibrarySettings.decode = function decode(reader, length, error) { + ClientLibrarySettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ClientLibrarySettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8023,39 +8332,39 @@ break; } case 21: { - message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32()); + message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 22: { - message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32()); + message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 23: { - message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32()); + message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 24: { - message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32()); + message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 25: { - message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32()); + message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 26: { - message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32()); + message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 27: { - message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32()); + message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 28: { - message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32()); + message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8086,9 +8395,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ClientLibrarySettings.verify = function verify(message) { + ClientLibrarySettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isString(message.version)) return "version: string expected"; @@ -8110,42 +8423,42 @@ if (typeof message.restNumericEnums !== "boolean") return "restNumericEnums: boolean expected"; if (message.javaSettings != null && message.hasOwnProperty("javaSettings")) { - var error = $root.google.api.JavaSettings.verify(message.javaSettings); + var error = $root.google.api.JavaSettings.verify(message.javaSettings, long + 1); if (error) return "javaSettings." + error; } if (message.cppSettings != null && message.hasOwnProperty("cppSettings")) { - var error = $root.google.api.CppSettings.verify(message.cppSettings); + var error = $root.google.api.CppSettings.verify(message.cppSettings, long + 1); if (error) return "cppSettings." + error; } if (message.phpSettings != null && message.hasOwnProperty("phpSettings")) { - var error = $root.google.api.PhpSettings.verify(message.phpSettings); + var error = $root.google.api.PhpSettings.verify(message.phpSettings, long + 1); if (error) return "phpSettings." + error; } if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings")) { - var error = $root.google.api.PythonSettings.verify(message.pythonSettings); + var error = $root.google.api.PythonSettings.verify(message.pythonSettings, long + 1); if (error) return "pythonSettings." + error; } if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings")) { - var error = $root.google.api.NodeSettings.verify(message.nodeSettings); + var error = $root.google.api.NodeSettings.verify(message.nodeSettings, long + 1); if (error) return "nodeSettings." + error; } if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings")) { - var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings); + var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings, long + 1); if (error) return "dotnetSettings." + error; } if (message.rubySettings != null && message.hasOwnProperty("rubySettings")) { - var error = $root.google.api.RubySettings.verify(message.rubySettings); + var error = $root.google.api.RubySettings.verify(message.rubySettings, long + 1); if (error) return "rubySettings." + error; } if (message.goSettings != null && message.hasOwnProperty("goSettings")) { - var error = $root.google.api.GoSettings.verify(message.goSettings); + var error = $root.google.api.GoSettings.verify(message.goSettings, long + 1); if (error) return "goSettings." + error; } @@ -8160,9 +8473,13 @@ * @param {Object.} object Plain object * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings */ - ClientLibrarySettings.fromObject = function fromObject(object) { + ClientLibrarySettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ClientLibrarySettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ClientLibrarySettings(); if (object.version != null) message.version = String(object.version); @@ -8211,42 +8528,42 @@ if (object.javaSettings != null) { if (typeof object.javaSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.javaSettings: object expected"); - message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings); + message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings, long + 1); } if (object.cppSettings != null) { if (typeof object.cppSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.cppSettings: object expected"); - message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings); + message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings, long + 1); } if (object.phpSettings != null) { if (typeof object.phpSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.phpSettings: object expected"); - message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings); + message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings, long + 1); } if (object.pythonSettings != null) { if (typeof object.pythonSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.pythonSettings: object expected"); - message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings); + message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings, long + 1); } if (object.nodeSettings != null) { if (typeof object.nodeSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.nodeSettings: object expected"); - message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings); + message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings, long + 1); } if (object.dotnetSettings != null) { if (typeof object.dotnetSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.dotnetSettings: object expected"); - message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings); + message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings, long + 1); } if (object.rubySettings != null) { if (typeof object.rubySettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.rubySettings: object expected"); - message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings); + message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings, long + 1); } if (object.goSettings != null) { if (typeof object.goSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.goSettings: object expected"); - message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings); + message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings, long + 1); } return message; }; @@ -8364,7 +8681,7 @@ this.librarySettings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8532,9 +8849,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Publishing.decode = function decode(reader, length, error) { + Publishing.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Publishing(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8544,7 +8865,7 @@ case 2: { if (!(message.methodSettings && message.methodSettings.length)) message.methodSettings = []; - message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32())); + message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 101: { @@ -8580,7 +8901,7 @@ case 109: { if (!(message.librarySettings && message.librarySettings.length)) message.librarySettings = []; - message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32())); + message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 110: { @@ -8592,7 +8913,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8623,14 +8944,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Publishing.verify = function verify(message) { + Publishing.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.methodSettings != null && message.hasOwnProperty("methodSettings")) { if (!Array.isArray(message.methodSettings)) return "methodSettings: array expected"; for (var i = 0; i < message.methodSettings.length; ++i) { - var error = $root.google.api.MethodSettings.verify(message.methodSettings[i]); + var error = $root.google.api.MethodSettings.verify(message.methodSettings[i], long + 1); if (error) return "methodSettings." + error; } @@ -8675,7 +9000,7 @@ if (!Array.isArray(message.librarySettings)) return "librarySettings: array expected"; for (var i = 0; i < message.librarySettings.length; ++i) { - var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i]); + var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i], long + 1); if (error) return "librarySettings." + error; } @@ -8697,9 +9022,13 @@ * @param {Object.} object Plain object * @returns {google.api.Publishing} Publishing */ - Publishing.fromObject = function fromObject(object) { + Publishing.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.Publishing) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.Publishing(); if (object.methodSettings) { if (!Array.isArray(object.methodSettings)) @@ -8708,7 +9037,7 @@ for (var i = 0; i < object.methodSettings.length; ++i) { if (typeof object.methodSettings[i] !== "object") throw TypeError(".google.api.Publishing.methodSettings: object expected"); - message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i]); + message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i], long + 1); } } if (object.newIssueUri != null) @@ -8775,7 +9104,7 @@ for (var i = 0; i < object.librarySettings.length; ++i) { if (typeof object.librarySettings[i] !== "object") throw TypeError(".google.api.Publishing.librarySettings: object expected"); - message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i]); + message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i], long + 1); } } if (object.protoReferenceDocumentationUri != null) @@ -8899,7 +9228,7 @@ this.serviceClassNames = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8985,9 +9314,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - JavaSettings.decode = function decode(reader, length, error) { + JavaSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.JavaSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -9014,19 +9347,21 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.serviceClassNames, key); message.serviceClassNames[key] = value; break; } case 3: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9057,9 +9392,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - JavaSettings.verify = function verify(message) { + JavaSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.libraryPackage != null && message.hasOwnProperty("libraryPackage")) if (!$util.isString(message.libraryPackage)) return "libraryPackage: string expected"; @@ -9072,7 +9411,7 @@ return "serviceClassNames: string{k:string} expected"; } if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -9087,9 +9426,13 @@ * @param {Object.} object Plain object * @returns {google.api.JavaSettings} JavaSettings */ - JavaSettings.fromObject = function fromObject(object) { + JavaSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.JavaSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.JavaSettings(); if (object.libraryPackage != null) message.libraryPackage = String(object.libraryPackage); @@ -9097,13 +9440,16 @@ if (typeof object.serviceClassNames !== "object") throw TypeError(".google.api.JavaSettings.serviceClassNames: object expected"); message.serviceClassNames = {}; - for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.serviceClassNames, keys[i]); message.serviceClassNames[keys[i]] = String(object.serviceClassNames[keys[i]]); + } } if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.JavaSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -9132,8 +9478,11 @@ var keys2; if (message.serviceClassNames && (keys2 = Object.keys(message.serviceClassNames)).length) { object.serviceClassNames = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.serviceClassNames, keys2[j]); object.serviceClassNames[keys2[j]] = message.serviceClassNames[keys2[j]]; + } } if (message.common != null && message.hasOwnProperty("common")) object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); @@ -9189,7 +9538,7 @@ function CppSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9254,9 +9603,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CppSettings.decode = function decode(reader, length, error) { + CppSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CppSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9264,11 +9617,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9299,11 +9652,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CppSettings.verify = function verify(message) { + CppSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -9318,14 +9675,18 @@ * @param {Object.} object Plain object * @returns {google.api.CppSettings} CppSettings */ - CppSettings.fromObject = function fromObject(object) { + CppSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CppSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CppSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.CppSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -9399,7 +9760,7 @@ function PhpSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9464,9 +9825,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PhpSettings.decode = function decode(reader, length, error) { + PhpSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PhpSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9474,11 +9839,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9509,11 +9874,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PhpSettings.verify = function verify(message) { + PhpSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -9528,14 +9897,18 @@ * @param {Object.} object Plain object * @returns {google.api.PhpSettings} PhpSettings */ - PhpSettings.fromObject = function fromObject(object) { + PhpSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PhpSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PhpSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.PhpSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -9596,6 +9969,7 @@ * @memberof google.api * @interface IPythonSettings * @property {google.api.ICommonLanguageSettings|null} [common] PythonSettings common + * @property {google.api.PythonSettings.IExperimentalFeatures|null} [experimentalFeatures] PythonSettings experimentalFeatures */ /** @@ -9609,7 +9983,7 @@ function PythonSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9621,6 +9995,14 @@ */ PythonSettings.prototype.common = null; + /** + * PythonSettings experimentalFeatures. + * @member {google.api.PythonSettings.IExperimentalFeatures|null|undefined} experimentalFeatures + * @memberof google.api.PythonSettings + * @instance + */ + PythonSettings.prototype.experimentalFeatures = null; + /** * Creates a new PythonSettings instance using the specified properties. * @function create @@ -9647,6 +10029,8 @@ writer = $Writer.create(); if (message.common != null && Object.hasOwnProperty.call(message, "common")) $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.experimentalFeatures != null && Object.hasOwnProperty.call(message, "experimentalFeatures")) + $root.google.api.PythonSettings.ExperimentalFeatures.encode(message.experimentalFeatures, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -9674,9 +10058,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PythonSettings.decode = function decode(reader, length, error) { + PythonSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9684,11 +10072,15 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); + break; + } + case 2: { + message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9719,14 +10111,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PythonSettings.verify = function verify(message) { + PythonSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } + if (message.experimentalFeatures != null && message.hasOwnProperty("experimentalFeatures")) { + var error = $root.google.api.PythonSettings.ExperimentalFeatures.verify(message.experimentalFeatures, long + 1); + if (error) + return "experimentalFeatures." + error; + } return null; }; @@ -9738,14 +10139,23 @@ * @param {Object.} object Plain object * @returns {google.api.PythonSettings} PythonSettings */ - PythonSettings.fromObject = function fromObject(object) { + PythonSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PythonSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PythonSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.PythonSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); + } + if (object.experimentalFeatures != null) { + if (typeof object.experimentalFeatures !== "object") + throw TypeError(".google.api.PythonSettings.experimentalFeatures: object expected"); + message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.fromObject(object.experimentalFeatures, long + 1); } return message; }; @@ -9763,10 +10173,14 @@ if (!options) options = {}; var object = {}; - if (options.defaults) + if (options.defaults) { object.common = null; + object.experimentalFeatures = null; + } if (message.common != null && message.hasOwnProperty("common")) object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); + if (message.experimentalFeatures != null && message.hasOwnProperty("experimentalFeatures")) + object.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.toObject(message.experimentalFeatures, options); return object; }; @@ -9796,6 +10210,270 @@ return typeUrlPrefix + "/google.api.PythonSettings"; }; + PythonSettings.ExperimentalFeatures = (function() { + + /** + * Properties of an ExperimentalFeatures. + * @memberof google.api.PythonSettings + * @interface IExperimentalFeatures + * @property {boolean|null} [restAsyncIoEnabled] ExperimentalFeatures restAsyncIoEnabled + * @property {boolean|null} [protobufPythonicTypesEnabled] ExperimentalFeatures protobufPythonicTypesEnabled + * @property {boolean|null} [unversionedPackageDisabled] ExperimentalFeatures unversionedPackageDisabled + */ + + /** + * Constructs a new ExperimentalFeatures. + * @memberof google.api.PythonSettings + * @classdesc Represents an ExperimentalFeatures. + * @implements IExperimentalFeatures + * @constructor + * @param {google.api.PythonSettings.IExperimentalFeatures=} [properties] Properties to set + */ + function ExperimentalFeatures(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExperimentalFeatures restAsyncIoEnabled. + * @member {boolean} restAsyncIoEnabled + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @instance + */ + ExperimentalFeatures.prototype.restAsyncIoEnabled = false; + + /** + * ExperimentalFeatures protobufPythonicTypesEnabled. + * @member {boolean} protobufPythonicTypesEnabled + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @instance + */ + ExperimentalFeatures.prototype.protobufPythonicTypesEnabled = false; + + /** + * ExperimentalFeatures unversionedPackageDisabled. + * @member {boolean} unversionedPackageDisabled + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @instance + */ + ExperimentalFeatures.prototype.unversionedPackageDisabled = false; + + /** + * Creates a new ExperimentalFeatures instance using the specified properties. + * @function create + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {google.api.PythonSettings.IExperimentalFeatures=} [properties] Properties to set + * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures instance + */ + ExperimentalFeatures.create = function create(properties) { + return new ExperimentalFeatures(properties); + }; + + /** + * Encodes the specified ExperimentalFeatures message. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @function encode + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {google.api.PythonSettings.IExperimentalFeatures} message ExperimentalFeatures message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExperimentalFeatures.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.restAsyncIoEnabled != null && Object.hasOwnProperty.call(message, "restAsyncIoEnabled")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.restAsyncIoEnabled); + if (message.protobufPythonicTypesEnabled != null && Object.hasOwnProperty.call(message, "protobufPythonicTypesEnabled")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.protobufPythonicTypesEnabled); + if (message.unversionedPackageDisabled != null && Object.hasOwnProperty.call(message, "unversionedPackageDisabled")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.unversionedPackageDisabled); + return writer; + }; + + /** + * Encodes the specified ExperimentalFeatures message, length delimited. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {google.api.PythonSettings.IExperimentalFeatures} message ExperimentalFeatures message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExperimentalFeatures.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer. + * @function decode + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExperimentalFeatures.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings.ExperimentalFeatures(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.restAsyncIoEnabled = reader.bool(); + break; + } + case 2: { + message.protobufPythonicTypesEnabled = reader.bool(); + break; + } + case 3: { + message.unversionedPackageDisabled = reader.bool(); + break; + } + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExperimentalFeatures.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExperimentalFeatures message. + * @function verify + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExperimentalFeatures.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + if (message.restAsyncIoEnabled != null && message.hasOwnProperty("restAsyncIoEnabled")) + if (typeof message.restAsyncIoEnabled !== "boolean") + return "restAsyncIoEnabled: boolean expected"; + if (message.protobufPythonicTypesEnabled != null && message.hasOwnProperty("protobufPythonicTypesEnabled")) + if (typeof message.protobufPythonicTypesEnabled !== "boolean") + return "protobufPythonicTypesEnabled: boolean expected"; + if (message.unversionedPackageDisabled != null && message.hasOwnProperty("unversionedPackageDisabled")) + if (typeof message.unversionedPackageDisabled !== "boolean") + return "unversionedPackageDisabled: boolean expected"; + return null; + }; + + /** + * Creates an ExperimentalFeatures message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {Object.} object Plain object + * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures + */ + ExperimentalFeatures.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.api.PythonSettings.ExperimentalFeatures) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var message = new $root.google.api.PythonSettings.ExperimentalFeatures(); + if (object.restAsyncIoEnabled != null) + message.restAsyncIoEnabled = Boolean(object.restAsyncIoEnabled); + if (object.protobufPythonicTypesEnabled != null) + message.protobufPythonicTypesEnabled = Boolean(object.protobufPythonicTypesEnabled); + if (object.unversionedPackageDisabled != null) + message.unversionedPackageDisabled = Boolean(object.unversionedPackageDisabled); + return message; + }; + + /** + * Creates a plain object from an ExperimentalFeatures message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {google.api.PythonSettings.ExperimentalFeatures} message ExperimentalFeatures + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExperimentalFeatures.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.restAsyncIoEnabled = false; + object.protobufPythonicTypesEnabled = false; + object.unversionedPackageDisabled = false; + } + if (message.restAsyncIoEnabled != null && message.hasOwnProperty("restAsyncIoEnabled")) + object.restAsyncIoEnabled = message.restAsyncIoEnabled; + if (message.protobufPythonicTypesEnabled != null && message.hasOwnProperty("protobufPythonicTypesEnabled")) + object.protobufPythonicTypesEnabled = message.protobufPythonicTypesEnabled; + if (message.unversionedPackageDisabled != null && message.hasOwnProperty("unversionedPackageDisabled")) + object.unversionedPackageDisabled = message.unversionedPackageDisabled; + return object; + }; + + /** + * Converts this ExperimentalFeatures to JSON. + * @function toJSON + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @instance + * @returns {Object.} JSON object + */ + ExperimentalFeatures.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ExperimentalFeatures + * @function getTypeUrl + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExperimentalFeatures.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.PythonSettings.ExperimentalFeatures"; + }; + + return ExperimentalFeatures; + })(); + return PythonSettings; })(); @@ -9819,7 +10497,7 @@ function NodeSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9884,9 +10562,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NodeSettings.decode = function decode(reader, length, error) { + NodeSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.NodeSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9894,11 +10576,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9929,11 +10611,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NodeSettings.verify = function verify(message) { + NodeSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -9948,14 +10634,18 @@ * @param {Object.} object Plain object * @returns {google.api.NodeSettings} NodeSettings */ - NodeSettings.fromObject = function fromObject(object) { + NodeSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.NodeSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.NodeSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.NodeSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -10039,7 +10729,7 @@ this.handwrittenSignatures = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10159,9 +10849,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DotnetSettings.decode = function decode(reader, length, error) { + DotnetSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -10169,7 +10863,7 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -10188,10 +10882,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedServices, key); message.renamedServices[key] = value; break; } @@ -10211,10 +10907,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedResources, key); message.renamedResources[key] = value; break; } @@ -10237,7 +10935,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10268,11 +10966,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DotnetSettings.verify = function verify(message) { + DotnetSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -10324,28 +11026,38 @@ * @param {Object.} object Plain object * @returns {google.api.DotnetSettings} DotnetSettings */ - DotnetSettings.fromObject = function fromObject(object) { + DotnetSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.DotnetSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.DotnetSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.DotnetSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } if (object.renamedServices) { if (typeof object.renamedServices !== "object") throw TypeError(".google.api.DotnetSettings.renamedServices: object expected"); message.renamedServices = {}; - for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedServices, keys[i]); message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]); + } } if (object.renamedResources) { if (typeof object.renamedResources !== "object") throw TypeError(".google.api.DotnetSettings.renamedResources: object expected"); message.renamedResources = {}; - for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedResources, keys[i]); message.renamedResources[keys[i]] = String(object.renamedResources[keys[i]]); + } } if (object.ignoredResources) { if (!Array.isArray(object.ignoredResources)) @@ -10400,13 +11112,19 @@ var keys2; if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) { object.renamedServices = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedServices, keys2[j]); object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]]; + } } if (message.renamedResources && (keys2 = Object.keys(message.renamedResources)).length) { object.renamedResources = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedResources, keys2[j]); object.renamedResources[keys2[j]] = message.renamedResources[keys2[j]]; + } } if (message.ignoredResources && message.ignoredResources.length) { object.ignoredResources = []; @@ -10475,7 +11193,7 @@ function RubySettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10540,9 +11258,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RubySettings.decode = function decode(reader, length, error) { + RubySettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.RubySettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10550,11 +11272,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10585,11 +11307,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RubySettings.verify = function verify(message) { + RubySettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -10604,14 +11330,18 @@ * @param {Object.} object Plain object * @returns {google.api.RubySettings} RubySettings */ - RubySettings.fromObject = function fromObject(object) { + RubySettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.RubySettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.RubySettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.RubySettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -10672,6 +11402,7 @@ * @memberof google.api * @interface IGoSettings * @property {google.api.ICommonLanguageSettings|null} [common] GoSettings common + * @property {Object.|null} [renamedServices] GoSettings renamedServices */ /** @@ -10683,9 +11414,10 @@ * @param {google.api.IGoSettings=} [properties] Properties to set */ function GoSettings(properties) { + this.renamedServices = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10697,6 +11429,14 @@ */ GoSettings.prototype.common = null; + /** + * GoSettings renamedServices. + * @member {Object.} renamedServices + * @memberof google.api.GoSettings + * @instance + */ + GoSettings.prototype.renamedServices = $util.emptyObject; + /** * Creates a new GoSettings instance using the specified properties. * @function create @@ -10723,6 +11463,9 @@ writer = $Writer.create(); if (message.common != null && Object.hasOwnProperty.call(message, "common")) $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.renamedServices != null && Object.hasOwnProperty.call(message, "renamedServices")) + for (var keys = Object.keys(message.renamedServices), i = 0; i < keys.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.renamedServices[keys[i]]).ldelim(); return writer; }; @@ -10750,21 +11493,50 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoSettings.decode = function decode(reader, length, error) { + GoSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings(); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); if (tag === error) break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); + break; + } + case 2: { + if (message.renamedServices === $util.emptyObject) + message.renamedServices = {}; + 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, long); + break; + } + } + if (key === "__proto__") + $util.makeProp(message.renamedServices, key); + message.renamedServices[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10795,14 +11567,26 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GoSettings.verify = function verify(message) { + GoSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } + if (message.renamedServices != null && message.hasOwnProperty("renamedServices")) { + if (!$util.isObject(message.renamedServices)) + return "renamedServices: object expected"; + var key = Object.keys(message.renamedServices); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.renamedServices[key[i]])) + return "renamedServices: string{k:string} expected"; + } return null; }; @@ -10814,14 +11598,28 @@ * @param {Object.} object Plain object * @returns {google.api.GoSettings} GoSettings */ - GoSettings.fromObject = function fromObject(object) { + GoSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.GoSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.GoSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.GoSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); + } + if (object.renamedServices) { + if (typeof object.renamedServices !== "object") + throw TypeError(".google.api.GoSettings.renamedServices: object expected"); + message.renamedServices = {}; + for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedServices, keys[i]); + message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]); + } } return message; }; @@ -10839,10 +11637,21 @@ if (!options) options = {}; var object = {}; + if (options.objects || options.defaults) + object.renamedServices = {}; if (options.defaults) object.common = null; if (message.common != null && message.hasOwnProperty("common")) object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); + var keys2; + if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) { + object.renamedServices = {}; + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedServices, keys2[j]); + object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]]; + } + } return object; }; @@ -10898,7 +11707,7 @@ this.autoPopulatedFields = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10984,9 +11793,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodSettings.decode = function decode(reader, length, error) { + MethodSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10998,7 +11811,7 @@ break; } case 2: { - message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32()); + message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -11008,7 +11821,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11039,14 +11852,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodSettings.verify = function verify(message) { + MethodSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.selector != null && message.hasOwnProperty("selector")) if (!$util.isString(message.selector)) return "selector: string expected"; if (message.longRunning != null && message.hasOwnProperty("longRunning")) { - var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning); + var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning, long + 1); if (error) return "longRunning." + error; } @@ -11068,16 +11885,20 @@ * @param {Object.} object Plain object * @returns {google.api.MethodSettings} MethodSettings */ - MethodSettings.fromObject = function fromObject(object) { + MethodSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.MethodSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.MethodSettings(); if (object.selector != null) message.selector = String(object.selector); if (object.longRunning != null) { if (typeof object.longRunning !== "object") throw TypeError(".google.api.MethodSettings.longRunning: object expected"); - message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning); + message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning, long + 1); } if (object.autoPopulatedFields) { if (!Array.isArray(object.autoPopulatedFields)) @@ -11169,7 +11990,7 @@ function LongRunning(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11264,9 +12085,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LongRunning.decode = function decode(reader, length, error) { + LongRunning.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings.LongRunning(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11274,7 +12099,7 @@ break; switch (tag >>> 3) { case 1: { - message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -11282,15 +12107,15 @@ break; } case 3: { - message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11321,11 +12146,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LongRunning.verify = function verify(message) { + LongRunning.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.initialPollDelay != null && message.hasOwnProperty("initialPollDelay")) { - var error = $root.google.protobuf.Duration.verify(message.initialPollDelay); + var error = $root.google.protobuf.Duration.verify(message.initialPollDelay, long + 1); if (error) return "initialPollDelay." + error; } @@ -11333,12 +12162,12 @@ if (typeof message.pollDelayMultiplier !== "number") return "pollDelayMultiplier: number expected"; if (message.maxPollDelay != null && message.hasOwnProperty("maxPollDelay")) { - var error = $root.google.protobuf.Duration.verify(message.maxPollDelay); + var error = $root.google.protobuf.Duration.verify(message.maxPollDelay, long + 1); if (error) return "maxPollDelay." + error; } if (message.totalPollTimeout != null && message.hasOwnProperty("totalPollTimeout")) { - var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout); + var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout, long + 1); if (error) return "totalPollTimeout." + error; } @@ -11353,26 +12182,30 @@ * @param {Object.} object Plain object * @returns {google.api.MethodSettings.LongRunning} LongRunning */ - LongRunning.fromObject = function fromObject(object) { + LongRunning.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.MethodSettings.LongRunning) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.MethodSettings.LongRunning(); if (object.initialPollDelay != null) { if (typeof object.initialPollDelay !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.initialPollDelay: object expected"); - message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay); + message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay, long + 1); } if (object.pollDelayMultiplier != null) message.pollDelayMultiplier = Number(object.pollDelayMultiplier); if (object.maxPollDelay != null) { if (typeof object.maxPollDelay !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.maxPollDelay: object expected"); - message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay); + message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay, long + 1); } if (object.totalPollTimeout != null) { if (typeof object.totalPollTimeout !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.totalPollTimeout: object expected"); - message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout); + message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout, long + 1); } return message; }; @@ -11481,26 +12314,283 @@ return values; })(); - /** - * LaunchStage enum. - * @name google.api.LaunchStage - * @enum {number} - * @property {number} LAUNCH_STAGE_UNSPECIFIED=0 LAUNCH_STAGE_UNSPECIFIED value - * @property {number} UNIMPLEMENTED=6 UNIMPLEMENTED value - * @property {number} PRELAUNCH=7 PRELAUNCH value - * @property {number} EARLY_ACCESS=1 EARLY_ACCESS value - * @property {number} ALPHA=2 ALPHA value - * @property {number} BETA=3 BETA value - * @property {number} GA=4 GA value - * @property {number} DEPRECATED=5 DEPRECATED value - */ - api.LaunchStage = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "LAUNCH_STAGE_UNSPECIFIED"] = 0; - values[valuesById[6] = "UNIMPLEMENTED"] = 6; - values[valuesById[7] = "PRELAUNCH"] = 7; - values[valuesById[1] = "EARLY_ACCESS"] = 1; - values[valuesById[2] = "ALPHA"] = 2; + api.SelectiveGapicGeneration = (function() { + + /** + * Properties of a SelectiveGapicGeneration. + * @memberof google.api + * @interface ISelectiveGapicGeneration + * @property {Array.|null} [methods] SelectiveGapicGeneration methods + * @property {boolean|null} [generateOmittedAsInternal] SelectiveGapicGeneration generateOmittedAsInternal + */ + + /** + * Constructs a new SelectiveGapicGeneration. + * @memberof google.api + * @classdesc Represents a SelectiveGapicGeneration. + * @implements ISelectiveGapicGeneration + * @constructor + * @param {google.api.ISelectiveGapicGeneration=} [properties] Properties to set + */ + function SelectiveGapicGeneration(properties) { + this.methods = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * SelectiveGapicGeneration methods. + * @member {Array.} methods + * @memberof google.api.SelectiveGapicGeneration + * @instance + */ + SelectiveGapicGeneration.prototype.methods = $util.emptyArray; + + /** + * SelectiveGapicGeneration generateOmittedAsInternal. + * @member {boolean} generateOmittedAsInternal + * @memberof google.api.SelectiveGapicGeneration + * @instance + */ + SelectiveGapicGeneration.prototype.generateOmittedAsInternal = false; + + /** + * Creates a new SelectiveGapicGeneration instance using the specified properties. + * @function create + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {google.api.ISelectiveGapicGeneration=} [properties] Properties to set + * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration instance + */ + SelectiveGapicGeneration.create = function create(properties) { + return new SelectiveGapicGeneration(properties); + }; + + /** + * Encodes the specified SelectiveGapicGeneration message. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @function encode + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {google.api.ISelectiveGapicGeneration} message SelectiveGapicGeneration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SelectiveGapicGeneration.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.methods != null && message.methods.length) + for (var i = 0; i < message.methods.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.methods[i]); + if (message.generateOmittedAsInternal != null && Object.hasOwnProperty.call(message, "generateOmittedAsInternal")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.generateOmittedAsInternal); + return writer; + }; + + /** + * Encodes the specified SelectiveGapicGeneration message, length delimited. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {google.api.ISelectiveGapicGeneration} message SelectiveGapicGeneration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SelectiveGapicGeneration.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer. + * @function decode + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SelectiveGapicGeneration.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.SelectiveGapicGeneration(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + if (!(message.methods && message.methods.length)) + message.methods = []; + message.methods.push(reader.string()); + break; + } + case 2: { + message.generateOmittedAsInternal = reader.bool(); + break; + } + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SelectiveGapicGeneration.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SelectiveGapicGeneration message. + * @function verify + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SelectiveGapicGeneration.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + if (message.methods != null && message.hasOwnProperty("methods")) { + if (!Array.isArray(message.methods)) + return "methods: array expected"; + for (var i = 0; i < message.methods.length; ++i) + if (!$util.isString(message.methods[i])) + return "methods: string[] expected"; + } + if (message.generateOmittedAsInternal != null && message.hasOwnProperty("generateOmittedAsInternal")) + if (typeof message.generateOmittedAsInternal !== "boolean") + return "generateOmittedAsInternal: boolean expected"; + return null; + }; + + /** + * Creates a SelectiveGapicGeneration message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {Object.} object Plain object + * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration + */ + SelectiveGapicGeneration.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.api.SelectiveGapicGeneration) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var message = new $root.google.api.SelectiveGapicGeneration(); + if (object.methods) { + if (!Array.isArray(object.methods)) + throw TypeError(".google.api.SelectiveGapicGeneration.methods: array expected"); + message.methods = []; + for (var i = 0; i < object.methods.length; ++i) + message.methods[i] = String(object.methods[i]); + } + if (object.generateOmittedAsInternal != null) + message.generateOmittedAsInternal = Boolean(object.generateOmittedAsInternal); + return message; + }; + + /** + * Creates a plain object from a SelectiveGapicGeneration message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {google.api.SelectiveGapicGeneration} message SelectiveGapicGeneration + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SelectiveGapicGeneration.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.methods = []; + if (options.defaults) + object.generateOmittedAsInternal = false; + if (message.methods && message.methods.length) { + object.methods = []; + for (var j = 0; j < message.methods.length; ++j) + object.methods[j] = message.methods[j]; + } + if (message.generateOmittedAsInternal != null && message.hasOwnProperty("generateOmittedAsInternal")) + object.generateOmittedAsInternal = message.generateOmittedAsInternal; + return object; + }; + + /** + * Converts this SelectiveGapicGeneration to JSON. + * @function toJSON + * @memberof google.api.SelectiveGapicGeneration + * @instance + * @returns {Object.} JSON object + */ + SelectiveGapicGeneration.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SelectiveGapicGeneration + * @function getTypeUrl + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SelectiveGapicGeneration.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.SelectiveGapicGeneration"; + }; + + return SelectiveGapicGeneration; + })(); + + /** + * LaunchStage enum. + * @name google.api.LaunchStage + * @enum {number} + * @property {number} LAUNCH_STAGE_UNSPECIFIED=0 LAUNCH_STAGE_UNSPECIFIED value + * @property {number} UNIMPLEMENTED=6 UNIMPLEMENTED value + * @property {number} PRELAUNCH=7 PRELAUNCH value + * @property {number} EARLY_ACCESS=1 EARLY_ACCESS value + * @property {number} ALPHA=2 ALPHA value + * @property {number} BETA=3 BETA value + * @property {number} GA=4 GA value + * @property {number} DEPRECATED=5 DEPRECATED value + */ + api.LaunchStage = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "LAUNCH_STAGE_UNSPECIFIED"] = 0; + values[valuesById[6] = "UNIMPLEMENTED"] = 6; + values[valuesById[7] = "PRELAUNCH"] = 7; + values[valuesById[1] = "EARLY_ACCESS"] = 1; + values[valuesById[2] = "ALPHA"] = 2; values[valuesById[3] = "BETA"] = 3; values[valuesById[4] = "GA"] = 4; values[valuesById[5] = "DEPRECATED"] = 5; @@ -11540,7 +12630,7 @@ this.file = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11606,9 +12696,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorSet.decode = function decode(reader, length, error) { + FileDescriptorSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11618,11 +12712,11 @@ case 1: { if (!(message.file && message.file.length)) message.file = []; - message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); + message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11653,14 +12747,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileDescriptorSet.verify = function verify(message) { + FileDescriptorSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.file != null && message.hasOwnProperty("file")) { if (!Array.isArray(message.file)) return "file: array expected"; for (var i = 0; i < message.file.length; ++i) { - var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]); + var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i], long + 1); if (error) return "file." + error; } @@ -11676,9 +12774,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet */ - FileDescriptorSet.fromObject = function fromObject(object) { + FileDescriptorSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileDescriptorSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileDescriptorSet(); if (object.file) { if (!Array.isArray(object.file)) @@ -11687,7 +12789,7 @@ for (var i = 0; i < object.file.length; ++i) { if (typeof object.file[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected"); - message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]); + message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i], long + 1); } } return message; @@ -11750,6 +12852,7 @@ * @name google.protobuf.Edition * @enum {number} * @property {number} EDITION_UNKNOWN=0 EDITION_UNKNOWN value + * @property {number} EDITION_LEGACY=900 EDITION_LEGACY value * @property {number} EDITION_PROTO2=998 EDITION_PROTO2 value * @property {number} EDITION_PROTO3=999 EDITION_PROTO3 value * @property {number} EDITION_2023=1000 EDITION_2023 value @@ -11764,6 +12867,7 @@ protobuf.Edition = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "EDITION_UNKNOWN"] = 0; + values[valuesById[900] = "EDITION_LEGACY"] = 900; values[valuesById[998] = "EDITION_PROTO2"] = 998; values[valuesById[999] = "EDITION_PROTO3"] = 999; values[valuesById[1000] = "EDITION_2023"] = 1000; @@ -11788,6 +12892,7 @@ * @property {Array.|null} [dependency] FileDescriptorProto dependency * @property {Array.|null} [publicDependency] FileDescriptorProto publicDependency * @property {Array.|null} [weakDependency] FileDescriptorProto weakDependency + * @property {Array.|null} [optionDependency] FileDescriptorProto optionDependency * @property {Array.|null} [messageType] FileDescriptorProto messageType * @property {Array.|null} [enumType] FileDescriptorProto enumType * @property {Array.|null} [service] FileDescriptorProto service @@ -11810,13 +12915,14 @@ this.dependency = []; this.publicDependency = []; this.weakDependency = []; + this.optionDependency = []; this.messageType = []; this.enumType = []; this.service = []; this.extension = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11860,6 +12966,14 @@ */ FileDescriptorProto.prototype.weakDependency = $util.emptyArray; + /** + * FileDescriptorProto optionDependency. + * @member {Array.} optionDependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.optionDependency = $util.emptyArray; + /** * FileDescriptorProto messageType. * @member {Array.} messageType @@ -11981,6 +13095,9 @@ writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax); if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.edition); + if (message.optionDependency != null && message.optionDependency.length) + for (var i = 0; i < message.optionDependency.length; ++i) + writer.uint32(/* id 15, wireType 2 =*/122).string(message.optionDependency[i]); return writer; }; @@ -12008,9 +13125,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorProto.decode = function decode(reader, length, error) { + FileDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12053,36 +13174,42 @@ message.weakDependency.push(reader.int32()); break; } + case 15: { + if (!(message.optionDependency && message.optionDependency.length)) + message.optionDependency = []; + message.optionDependency.push(reader.string()); + break; + } case 4: { if (!(message.messageType && message.messageType.length)) message.messageType = []; - message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.enumType && message.enumType.length)) message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.service && message.service.length)) message.service = []; - message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); + message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { if (!(message.extension && message.extension.length)) message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { - message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } case 12: { @@ -12094,7 +13221,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12125,9 +13252,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileDescriptorProto.verify = function verify(message) { + FileDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -12155,11 +13286,18 @@ if (!$util.isInteger(message.weakDependency[i])) return "weakDependency: integer[] expected"; } + if (message.optionDependency != null && message.hasOwnProperty("optionDependency")) { + if (!Array.isArray(message.optionDependency)) + return "optionDependency: array expected"; + for (var i = 0; i < message.optionDependency.length; ++i) + if (!$util.isString(message.optionDependency[i])) + return "optionDependency: string[] expected"; + } if (message.messageType != null && message.hasOwnProperty("messageType")) { if (!Array.isArray(message.messageType)) return "messageType: array expected"; for (var i = 0; i < message.messageType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]); + var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i], long + 1); if (error) return "messageType." + error; } @@ -12168,7 +13306,7 @@ if (!Array.isArray(message.enumType)) return "enumType: array expected"; for (var i = 0; i < message.enumType.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i], long + 1); if (error) return "enumType." + error; } @@ -12177,7 +13315,7 @@ if (!Array.isArray(message.service)) return "service: array expected"; for (var i = 0; i < message.service.length; ++i) { - var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]); + var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i], long + 1); if (error) return "service." + error; } @@ -12186,18 +13324,18 @@ if (!Array.isArray(message.extension)) return "extension: array expected"; for (var i = 0; i < message.extension.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i], long + 1); if (error) return "extension." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FileOptions.verify(message.options); + var error = $root.google.protobuf.FileOptions.verify(message.options, long + 1); if (error) return "options." + error; } if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) { - var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo); + var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo, long + 1); if (error) return "sourceCodeInfo." + error; } @@ -12209,6 +13347,7 @@ default: return "edition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -12232,9 +13371,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto */ - FileDescriptorProto.fromObject = function fromObject(object) { + FileDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -12261,6 +13404,13 @@ for (var i = 0; i < object.weakDependency.length; ++i) message.weakDependency[i] = object.weakDependency[i] | 0; } + if (object.optionDependency) { + if (!Array.isArray(object.optionDependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.optionDependency: array expected"); + message.optionDependency = []; + for (var i = 0; i < object.optionDependency.length; ++i) + message.optionDependency[i] = String(object.optionDependency[i]); + } if (object.messageType) { if (!Array.isArray(object.messageType)) throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected"); @@ -12268,7 +13418,7 @@ for (var i = 0; i < object.messageType.length; ++i) { if (typeof object.messageType[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected"); - message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]); + message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i], long + 1); } } if (object.enumType) { @@ -12278,7 +13428,7 @@ for (var i = 0; i < object.enumType.length; ++i) { if (typeof object.enumType[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected"); - message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i], long + 1); } } if (object.service) { @@ -12288,7 +13438,7 @@ for (var i = 0; i < object.service.length; ++i) { if (typeof object.service[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected"); - message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]); + message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i], long + 1); } } if (object.extension) { @@ -12298,18 +13448,18 @@ for (var i = 0; i < object.extension.length; ++i) { if (typeof object.extension[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected"); - message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.FileOptions.fromObject(object.options); + message.options = $root.google.protobuf.FileOptions.fromObject(object.options, long + 1); } if (object.sourceCodeInfo != null) { if (typeof object.sourceCodeInfo !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected"); - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo, long + 1); } if (object.syntax != null) message.syntax = String(object.syntax); @@ -12324,6 +13474,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -12389,6 +13543,7 @@ object.extension = []; object.publicDependency = []; object.weakDependency = []; + object.optionDependency = []; } if (options.defaults) { object.name = ""; @@ -12445,6 +13600,11 @@ object.syntax = message.syntax; if (message.edition != null && message.hasOwnProperty("edition")) object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; + if (message.optionDependency && message.optionDependency.length) { + object.optionDependency = []; + for (var j = 0; j < message.optionDependency.length; ++j) + object.optionDependency[j] = message.optionDependency[j]; + } return object; }; @@ -12493,6 +13653,7 @@ * @property {google.protobuf.IMessageOptions|null} [options] DescriptorProto options * @property {Array.|null} [reservedRange] DescriptorProto reservedRange * @property {Array.|null} [reservedName] DescriptorProto reservedName + * @property {google.protobuf.SymbolVisibility|null} [visibility] DescriptorProto visibility */ /** @@ -12514,7 +13675,7 @@ this.reservedName = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12598,6 +13759,14 @@ */ DescriptorProto.prototype.reservedName = $util.emptyArray; + /** + * DescriptorProto visibility. + * @member {google.protobuf.SymbolVisibility} visibility + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.visibility = 0; + /** * Creates a new DescriptorProto instance using the specified properties. * @function create @@ -12650,6 +13819,8 @@ if (message.reservedName != null && message.reservedName.length) for (var i = 0; i < message.reservedName.length; ++i) writer.uint32(/* id 10, wireType 2 =*/82).string(message.reservedName[i]); + if (message.visibility != null && Object.hasOwnProperty.call(message, "visibility")) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.visibility); return writer; }; @@ -12677,9 +13848,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DescriptorProto.decode = function decode(reader, length, error) { + DescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12693,47 +13868,47 @@ case 2: { if (!(message.field && message.field.length)) message.field = []; - message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.extension && message.extension.length)) message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { if (!(message.nestedType && message.nestedType.length)) message.nestedType = []; - message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { if (!(message.enumType && message.enumType.length)) message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.extensionRange && message.extensionRange.length)) message.extensionRange = []; - message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); + message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { if (!(message.oneofDecl && message.oneofDecl.length)) message.oneofDecl = []; - message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); + message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { - message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { if (!(message.reservedRange && message.reservedRange.length)) message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); + message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 10: { @@ -12742,8 +13917,12 @@ message.reservedName.push(reader.string()); break; } + case 11: { + message.visibility = reader.int32(); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12774,9 +13953,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DescriptorProto.verify = function verify(message) { + DescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -12784,7 +13967,7 @@ if (!Array.isArray(message.field)) return "field: array expected"; for (var i = 0; i < message.field.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i], long + 1); if (error) return "field." + error; } @@ -12793,7 +13976,7 @@ if (!Array.isArray(message.extension)) return "extension: array expected"; for (var i = 0; i < message.extension.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i], long + 1); if (error) return "extension." + error; } @@ -12802,7 +13985,7 @@ if (!Array.isArray(message.nestedType)) return "nestedType: array expected"; for (var i = 0; i < message.nestedType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]); + var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i], long + 1); if (error) return "nestedType." + error; } @@ -12811,7 +13994,7 @@ if (!Array.isArray(message.enumType)) return "enumType: array expected"; for (var i = 0; i < message.enumType.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i], long + 1); if (error) return "enumType." + error; } @@ -12820,7 +14003,7 @@ if (!Array.isArray(message.extensionRange)) return "extensionRange: array expected"; for (var i = 0; i < message.extensionRange.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]); + var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i], long + 1); if (error) return "extensionRange." + error; } @@ -12829,13 +14012,13 @@ if (!Array.isArray(message.oneofDecl)) return "oneofDecl: array expected"; for (var i = 0; i < message.oneofDecl.length; ++i) { - var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]); + var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i], long + 1); if (error) return "oneofDecl." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MessageOptions.verify(message.options); + var error = $root.google.protobuf.MessageOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -12843,7 +14026,7 @@ if (!Array.isArray(message.reservedRange)) return "reservedRange: array expected"; for (var i = 0; i < message.reservedRange.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]); + var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i], long + 1); if (error) return "reservedRange." + error; } @@ -12855,6 +14038,15 @@ if (!$util.isString(message.reservedName[i])) return "reservedName: string[] expected"; } + if (message.visibility != null && message.hasOwnProperty("visibility")) + switch (message.visibility) { + default: + return "visibility: enum value expected"; + case 0: + case 1: + case 2: + break; + } return null; }; @@ -12866,9 +14058,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto} DescriptorProto */ - DescriptorProto.fromObject = function fromObject(object) { + DescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -12879,7 +14075,7 @@ for (var i = 0; i < object.field.length; ++i) { if (typeof object.field[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.field: object expected"); - message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]); + message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i], long + 1); } } if (object.extension) { @@ -12889,7 +14085,7 @@ for (var i = 0; i < object.extension.length; ++i) { if (typeof object.extension[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.extension: object expected"); - message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i], long + 1); } } if (object.nestedType) { @@ -12899,7 +14095,7 @@ for (var i = 0; i < object.nestedType.length; ++i) { if (typeof object.nestedType[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected"); - message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]); + message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i], long + 1); } } if (object.enumType) { @@ -12909,7 +14105,7 @@ for (var i = 0; i < object.enumType.length; ++i) { if (typeof object.enumType[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected"); - message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i], long + 1); } } if (object.extensionRange) { @@ -12919,7 +14115,7 @@ for (var i = 0; i < object.extensionRange.length; ++i) { if (typeof object.extensionRange[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected"); - message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]); + message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i], long + 1); } } if (object.oneofDecl) { @@ -12929,13 +14125,13 @@ for (var i = 0; i < object.oneofDecl.length; ++i) { if (typeof object.oneofDecl[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected"); - message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]); + message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.DescriptorProto.options: object expected"); - message.options = $root.google.protobuf.MessageOptions.fromObject(object.options); + message.options = $root.google.protobuf.MessageOptions.fromObject(object.options, long + 1); } if (object.reservedRange) { if (!Array.isArray(object.reservedRange)) @@ -12944,7 +14140,7 @@ for (var i = 0; i < object.reservedRange.length; ++i) { if (typeof object.reservedRange[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected"); - message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]); + message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i], long + 1); } } if (object.reservedName) { @@ -12954,6 +14150,26 @@ for (var i = 0; i < object.reservedName.length; ++i) message.reservedName[i] = String(object.reservedName[i]); } + switch (object.visibility) { + default: + if (typeof object.visibility === "number") { + message.visibility = object.visibility; + break; + } + break; + case "VISIBILITY_UNSET": + case 0: + message.visibility = 0; + break; + case "VISIBILITY_LOCAL": + case 1: + message.visibility = 1; + break; + case "VISIBILITY_EXPORT": + case 2: + message.visibility = 2; + break; + } return message; }; @@ -12983,6 +14199,7 @@ if (options.defaults) { object.name = ""; object.options = null; + object.visibility = options.enums === String ? "VISIBILITY_UNSET" : 0; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -13028,6 +14245,8 @@ for (var j = 0; j < message.reservedName.length; ++j) object.reservedName[j] = message.reservedName[j]; } + if (message.visibility != null && message.hasOwnProperty("visibility")) + object.visibility = options.enums === String ? $root.google.protobuf.SymbolVisibility[message.visibility] === undefined ? message.visibility : $root.google.protobuf.SymbolVisibility[message.visibility] : message.visibility; return object; }; @@ -13079,7 +14298,7 @@ function ExtensionRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13164,9 +14383,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRange.decode = function decode(reader, length, error) { + ExtensionRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13182,11 +14405,11 @@ break; } case 3: { - message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13217,9 +14440,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExtensionRange.verify = function verify(message) { + ExtensionRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -13227,7 +14454,7 @@ if (!$util.isInteger(message.end)) return "end: integer expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options); + var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -13242,9 +14469,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange */ - ExtensionRange.fromObject = function fromObject(object) { + ExtensionRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); if (object.start != null) message.start = object.start | 0; @@ -13253,7 +14484,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected"); - message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options); + message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options, long + 1); } return message; }; @@ -13335,7 +14566,7 @@ function ReservedRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13410,9 +14641,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReservedRange.decode = function decode(reader, length, error) { + ReservedRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13428,7 +14663,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13459,9 +14694,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReservedRange.verify = function verify(message) { + ReservedRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -13479,9 +14718,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange */ - ReservedRange.fromObject = function fromObject(object) { + ReservedRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto.ReservedRange(); if (object.start != null) message.start = object.start | 0; @@ -13571,7 +14814,7 @@ this.declaration = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13668,9 +14911,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRangeOptions.decode = function decode(reader, length, error) { + ExtensionRangeOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13680,17 +14927,17 @@ case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.declaration && message.declaration.length)) message.declaration = []; - message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32())); + message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 50: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -13698,7 +14945,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13729,14 +14976,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExtensionRangeOptions.verify = function verify(message) { + ExtensionRangeOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -13745,13 +14996,13 @@ if (!Array.isArray(message.declaration)) return "declaration: array expected"; for (var i = 0; i < message.declaration.length; ++i) { - var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i]); + var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i], long + 1); if (error) return "declaration." + error; } } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -13774,9 +15025,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions */ - ExtensionRangeOptions.fromObject = function fromObject(object) { + ExtensionRangeOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ExtensionRangeOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ExtensionRangeOptions(); if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -13785,7 +15040,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object.declaration) { @@ -13795,13 +15050,13 @@ for (var i = 0; i < object.declaration.length; ++i) { if (typeof object.declaration[i] !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: object expected"); - message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i]); + message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i], long + 1); } } if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } switch (object.verification) { case "DECLARATION": @@ -13910,7 +15165,7 @@ function Declaration(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14015,9 +15270,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Declaration.decode = function decode(reader, length, error) { + Declaration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14045,7 +15304,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14076,9 +15335,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Declaration.verify = function verify(message) { + Declaration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.number != null && message.hasOwnProperty("number")) if (!$util.isInteger(message.number)) return "number: integer expected"; @@ -14105,9 +15368,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration */ - Declaration.fromObject = function fromObject(object) { + Declaration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); if (object.number != null) message.number = object.number | 0; @@ -14231,7 +15498,7 @@ function FieldDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14396,9 +15663,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldDescriptorProto.decode = function decode(reader, length, error) { + FieldDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14442,7 +15713,7 @@ break; } case 8: { - message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 17: { @@ -14450,7 +15721,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14481,9 +15752,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldDescriptorProto.verify = function verify(message) { + FieldDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -14539,7 +15814,7 @@ if (!$util.isString(message.jsonName)) return "jsonName: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FieldOptions.verify(message.options); + var error = $root.google.protobuf.FieldOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -14557,9 +15832,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto */ - FieldDescriptorProto.fromObject = function fromObject(object) { + FieldDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -14678,7 +15957,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.FieldOptions.fromObject(object.options); + message.options = $root.google.protobuf.FieldOptions.fromObject(object.options, long + 1); } if (object.proto3Optional != null) message.proto3Optional = Boolean(object.proto3Optional); @@ -14848,7 +16127,7 @@ function OneofDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14923,9 +16202,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofDescriptorProto.decode = function decode(reader, length, error) { + OneofDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14937,11 +16220,11 @@ break; } case 2: { - message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14972,14 +16255,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OneofDescriptorProto.verify = function verify(message) { + OneofDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.OneofOptions.verify(message.options); + var error = $root.google.protobuf.OneofOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -14994,16 +16281,20 @@ * @param {Object.} object Plain object * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto */ - OneofDescriptorProto.fromObject = function fromObject(object) { + OneofDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.OneofDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.OneofDescriptorProto(); if (object.name != null) message.name = String(object.name); if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.OneofOptions.fromObject(object.options); + message.options = $root.google.protobuf.OneofOptions.fromObject(object.options, long + 1); } return message; }; @@ -15072,6 +16363,7 @@ * @property {google.protobuf.IEnumOptions|null} [options] EnumDescriptorProto options * @property {Array.|null} [reservedRange] EnumDescriptorProto reservedRange * @property {Array.|null} [reservedName] EnumDescriptorProto reservedName + * @property {google.protobuf.SymbolVisibility|null} [visibility] EnumDescriptorProto visibility */ /** @@ -15088,7 +16380,7 @@ this.reservedName = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15132,6 +16424,14 @@ */ EnumDescriptorProto.prototype.reservedName = $util.emptyArray; + /** + * EnumDescriptorProto visibility. + * @member {google.protobuf.SymbolVisibility} visibility + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.visibility = 0; + /** * Creates a new EnumDescriptorProto instance using the specified properties. * @function create @@ -15169,6 +16469,8 @@ if (message.reservedName != null && message.reservedName.length) for (var i = 0; i < message.reservedName.length; ++i) writer.uint32(/* id 5, wireType 2 =*/42).string(message.reservedName[i]); + if (message.visibility != null && Object.hasOwnProperty.call(message, "visibility")) + writer.uint32(/* id 6, wireType 0 =*/48).int32(message.visibility); return writer; }; @@ -15196,9 +16498,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumDescriptorProto.decode = function decode(reader, length, error) { + EnumDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15212,17 +16518,17 @@ case 2: { if (!(message.value && message.value.length)) message.value = []; - message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); + message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { if (!(message.reservedRange && message.reservedRange.length)) message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); + message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { @@ -15231,8 +16537,12 @@ message.reservedName.push(reader.string()); break; } + case 6: { + message.visibility = reader.int32(); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15263,9 +16573,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumDescriptorProto.verify = function verify(message) { + EnumDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -15273,13 +16587,13 @@ if (!Array.isArray(message.value)) return "value: array expected"; for (var i = 0; i < message.value.length; ++i) { - var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i]); + var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i], long + 1); if (error) return "value." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumOptions.verify(message.options); + var error = $root.google.protobuf.EnumOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -15287,7 +16601,7 @@ if (!Array.isArray(message.reservedRange)) return "reservedRange: array expected"; for (var i = 0; i < message.reservedRange.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i]); + var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i], long + 1); if (error) return "reservedRange." + error; } @@ -15299,6 +16613,15 @@ if (!$util.isString(message.reservedName[i])) return "reservedName: string[] expected"; } + if (message.visibility != null && message.hasOwnProperty("visibility")) + switch (message.visibility) { + default: + return "visibility: enum value expected"; + case 0: + case 1: + case 2: + break; + } return null; }; @@ -15310,9 +16633,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto */ - EnumDescriptorProto.fromObject = function fromObject(object) { + EnumDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -15323,13 +16650,13 @@ for (var i = 0; i < object.value.length; ++i) { if (typeof object.value[i] !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected"); - message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i]); + message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.EnumOptions.fromObject(object.options); + message.options = $root.google.protobuf.EnumOptions.fromObject(object.options, long + 1); } if (object.reservedRange) { if (!Array.isArray(object.reservedRange)) @@ -15338,7 +16665,7 @@ for (var i = 0; i < object.reservedRange.length; ++i) { if (typeof object.reservedRange[i] !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected"); - message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i]); + message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i], long + 1); } } if (object.reservedName) { @@ -15348,6 +16675,26 @@ for (var i = 0; i < object.reservedName.length; ++i) message.reservedName[i] = String(object.reservedName[i]); } + switch (object.visibility) { + default: + if (typeof object.visibility === "number") { + message.visibility = object.visibility; + break; + } + break; + case "VISIBILITY_UNSET": + case 0: + message.visibility = 0; + break; + case "VISIBILITY_LOCAL": + case 1: + message.visibility = 1; + break; + case "VISIBILITY_EXPORT": + case 2: + message.visibility = 2; + break; + } return message; }; @@ -15372,6 +16719,7 @@ if (options.defaults) { object.name = ""; object.options = null; + object.visibility = options.enums === String ? "VISIBILITY_UNSET" : 0; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -15392,6 +16740,8 @@ for (var j = 0; j < message.reservedName.length; ++j) object.reservedName[j] = message.reservedName[j]; } + if (message.visibility != null && message.hasOwnProperty("visibility")) + object.visibility = options.enums === String ? $root.google.protobuf.SymbolVisibility[message.visibility] === undefined ? message.visibility : $root.google.protobuf.SymbolVisibility[message.visibility] : message.visibility; return object; }; @@ -15442,7 +16792,7 @@ function EnumReservedRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15517,9 +16867,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumReservedRange.decode = function decode(reader, length, error) { + EnumReservedRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15535,7 +16889,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15566,9 +16920,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumReservedRange.verify = function verify(message) { + EnumReservedRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -15586,9 +16944,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange */ - EnumReservedRange.fromObject = function fromObject(object) { + EnumReservedRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); if (object.start != null) message.start = object.start | 0; @@ -15675,7 +17037,7 @@ function EnumValueDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15760,9 +17122,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueDescriptorProto.decode = function decode(reader, length, error) { + EnumValueDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15778,11 +17144,11 @@ break; } case 3: { - message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15813,9 +17179,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumValueDescriptorProto.verify = function verify(message) { + EnumValueDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -15823,7 +17193,7 @@ if (!$util.isInteger(message.number)) return "number: integer expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumValueOptions.verify(message.options); + var error = $root.google.protobuf.EnumValueOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -15838,9 +17208,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto */ - EnumValueDescriptorProto.fromObject = function fromObject(object) { + EnumValueDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumValueDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumValueDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -15849,7 +17223,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options); + message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options, long + 1); } return message; }; @@ -15933,7 +17307,7 @@ this.method = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16019,9 +17393,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceDescriptorProto.decode = function decode(reader, length, error) { + ServiceDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16035,15 +17413,15 @@ case 2: { if (!(message.method && message.method.length)) message.method = []; - message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); + message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16074,9 +17452,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ServiceDescriptorProto.verify = function verify(message) { + ServiceDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -16084,13 +17466,13 @@ if (!Array.isArray(message.method)) return "method: array expected"; for (var i = 0; i < message.method.length; ++i) { - var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i]); + var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i], long + 1); if (error) return "method." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ServiceOptions.verify(message.options); + var error = $root.google.protobuf.ServiceOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -16105,9 +17487,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto */ - ServiceDescriptorProto.fromObject = function fromObject(object) { + ServiceDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ServiceDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ServiceDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -16118,13 +17504,13 @@ for (var i = 0; i < object.method.length; ++i) { if (typeof object.method[i] !== "object") throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected"); - message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i]); + message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options); + message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options, long + 1); } return message; }; @@ -16214,7 +17600,7 @@ function MethodDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16329,9 +17715,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodDescriptorProto.decode = function decode(reader, length, error) { + MethodDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16351,7 +17741,7 @@ break; } case 4: { - message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -16363,7 +17753,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16394,9 +17784,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodDescriptorProto.verify = function verify(message) { + MethodDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -16407,7 +17801,7 @@ if (!$util.isString(message.outputType)) return "outputType: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MethodOptions.verify(message.options); + var error = $root.google.protobuf.MethodOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -16428,9 +17822,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto */ - MethodDescriptorProto.fromObject = function fromObject(object) { + MethodDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MethodDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MethodDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -16441,7 +17839,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.MethodOptions.fromObject(object.options); + message.options = $root.google.protobuf.MethodOptions.fromObject(object.options, long + 1); } if (object.clientStreaming != null) message.clientStreaming = Boolean(object.clientStreaming); @@ -16558,7 +17956,7 @@ this[".google.api.resourceDefinition"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16835,9 +18233,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.decode = function decode(reader, length, error) { + FileOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16921,23 +18323,23 @@ break; } case 50: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1053: { if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length)) message[".google.api.resourceDefinition"] = []; - message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32())); + message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16968,9 +18370,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileOptions.verify = function verify(message) { + FileOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) if (!$util.isString(message.javaPackage)) return "javaPackage: string expected"; @@ -17035,7 +18441,7 @@ if (!$util.isString(message.rubyPackage)) return "rubyPackage: string expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -17043,7 +18449,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -17052,7 +18458,7 @@ if (!Array.isArray(message[".google.api.resourceDefinition"])) return ".google.api.resourceDefinition: array expected"; for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) { - var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i]); + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i], long + 1); if (error) return ".google.api.resourceDefinition." + error; } @@ -17068,9 +18474,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileOptions} FileOptions */ - FileOptions.fromObject = function fromObject(object) { + FileOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileOptions(); if (object.javaPackage != null) message.javaPackage = String(object.javaPackage); @@ -17131,7 +18541,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.FileOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -17140,7 +18550,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.resourceDefinition"]) { @@ -17150,7 +18560,7 @@ for (var i = 0; i < object[".google.api.resourceDefinition"].length; ++i) { if (typeof object[".google.api.resourceDefinition"][i] !== "object") throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: object expected"); - message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i]); + message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i], long + 1); } } return message; @@ -17321,7 +18731,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17457,9 +18867,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MessageOptions.decode = function decode(reader, length, error) { + MessageOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17487,21 +18901,21 @@ break; } case 12: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1053: { - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32()); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17532,9 +18946,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MessageOptions.verify = function verify(message) { + MessageOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) if (typeof message.messageSetWireFormat !== "boolean") return "messageSetWireFormat: boolean expected"; @@ -17551,7 +18969,7 @@ if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") return "deprecatedLegacyJsonFieldConflicts: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -17559,13 +18977,13 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } } if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) { - var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"]); + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"], long + 1); if (error) return ".google.api.resource." + error; } @@ -17580,9 +18998,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MessageOptions} MessageOptions */ - MessageOptions.fromObject = function fromObject(object) { + MessageOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MessageOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MessageOptions(); if (object.messageSetWireFormat != null) message.messageSetWireFormat = Boolean(object.messageSetWireFormat); @@ -17597,7 +19019,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.MessageOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -17606,13 +19028,13 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.resource"] != null) { if (typeof object[".google.api.resource"] !== "object") throw TypeError(".google.protobuf.MessageOptions..google.api.resource: object expected"); - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"]); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"], long + 1); } return message; }; @@ -17710,6 +19132,7 @@ * @property {Array.|null} [targets] FieldOptions targets * @property {Array.|null} [editionDefaults] FieldOptions editionDefaults * @property {google.protobuf.IFeatureSet|null} [features] FieldOptions features + * @property {google.protobuf.FieldOptions.IFeatureSupport|null} [featureSupport] FieldOptions featureSupport * @property {Array.|null} [uninterpretedOption] FieldOptions uninterpretedOption * @property {Array.|null} [".google.api.fieldBehavior"] FieldOptions .google.api.fieldBehavior * @property {google.api.IResourceReference|null} [".google.api.resourceReference"] FieldOptions .google.api.resourceReference @@ -17730,7 +19153,7 @@ this[".google.api.fieldBehavior"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17830,6 +19253,14 @@ */ FieldOptions.prototype.features = null; + /** + * FieldOptions featureSupport. + * @member {google.protobuf.FieldOptions.IFeatureSupport|null|undefined} featureSupport + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.featureSupport = null; + /** * FieldOptions uninterpretedOption. * @member {Array.} uninterpretedOption @@ -17904,6 +19335,8 @@ $root.google.protobuf.FieldOptions.EditionDefault.encode(message.editionDefaults[i], writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); if (message.features != null && Object.hasOwnProperty.call(message, "features")) $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.featureSupport != null && Object.hasOwnProperty.call(message, "featureSupport")) + $root.google.protobuf.FieldOptions.FeatureSupport.encode(message.featureSupport, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); @@ -17939,9 +19372,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldOptions.decode = function decode(reader, length, error) { + FieldOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17998,17 +19435,21 @@ case 20: { if (!(message.editionDefaults && message.editionDefaults.length)) message.editionDefaults = []; - message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32())); + message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 21: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); + break; + } + case 22: { + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1052: { @@ -18023,11 +19464,11 @@ break; } case 1055: { - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32()); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18058,9 +19499,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldOptions.verify = function verify(message) { + FieldOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ctype != null && message.hasOwnProperty("ctype")) switch (message.ctype) { default: @@ -18130,21 +19575,26 @@ if (!Array.isArray(message.editionDefaults)) return "editionDefaults: array expected"; for (var i = 0; i < message.editionDefaults.length; ++i) { - var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i]); + var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i], long + 1); if (error) return "editionDefaults." + error; } } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } + if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) { + var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport, long + 1); + if (error) + return "featureSupport." + error; + } if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -18169,7 +19619,7 @@ } } if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) { - var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"]); + var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"], long + 1); if (error) return ".google.api.resourceReference." + error; } @@ -18184,9 +19634,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions} FieldOptions */ - FieldOptions.fromObject = function fromObject(object) { + FieldOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions(); switch (object.ctype) { default: @@ -18320,13 +19774,18 @@ for (var i = 0; i < object.editionDefaults.length; ++i) { if (typeof object.editionDefaults[i] !== "object") throw TypeError(".google.protobuf.FieldOptions.editionDefaults: object expected"); - message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i]); + message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i], long + 1); } } if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.FieldOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); + } + if (object.featureSupport != null) { + if (typeof object.featureSupport !== "object") + throw TypeError(".google.protobuf.FieldOptions.featureSupport: object expected"); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -18335,7 +19794,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.fieldBehavior"]) { @@ -18390,7 +19849,7 @@ if (object[".google.api.resourceReference"] != null) { if (typeof object[".google.api.resourceReference"] !== "object") throw TypeError(".google.protobuf.FieldOptions..google.api.resourceReference: object expected"); - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"]); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"], long + 1); } return message; }; @@ -18425,6 +19884,7 @@ object.debugRedact = false; object.retention = options.enums === String ? "RETENTION_UNKNOWN" : 0; object.features = null; + object.featureSupport = null; object[".google.api.resourceReference"] = null; } if (message.ctype != null && message.hasOwnProperty("ctype")) @@ -18457,6 +19917,8 @@ } if (message.features != null && message.hasOwnProperty("features")) object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); + if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) + object.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.toObject(message.featureSupport, options); if (message.uninterpretedOption && message.uninterpretedOption.length) { object.uninterpretedOption = []; for (var j = 0; j < message.uninterpretedOption.length; ++j) @@ -18597,7 +20059,7 @@ function EditionDefault(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18672,9 +20134,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EditionDefault.decode = function decode(reader, length, error) { + EditionDefault.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.EditionDefault(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18690,7 +20156,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18721,14 +20187,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EditionDefault.verify = function verify(message) { + EditionDefault.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.edition != null && message.hasOwnProperty("edition")) switch (message.edition) { default: return "edition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -18755,9 +20226,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault */ - EditionDefault.fromObject = function fromObject(object) { + EditionDefault.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions.EditionDefault) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions.EditionDefault(); switch (object.edition) { default: @@ -18768,105 +20243,603 @@ break; case "EDITION_UNKNOWN": case 0: - message.edition = 0; + message.edition = 0; + break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; + case "EDITION_PROTO2": + case 998: + message.edition = 998; + break; + case "EDITION_PROTO3": + case 999: + message.edition = 999; + break; + case "EDITION_2023": + case 1000: + message.edition = 1000; + break; + case "EDITION_2024": + case 1001: + message.edition = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.edition = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.edition = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.edition = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.edition = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.edition = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.edition = 2147483647; + break; + } + if (object.value != null) + message.value = String(object.value); + return message; + }; + + /** + * Creates a plain object from an EditionDefault message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldOptions.EditionDefault + * @static + * @param {google.protobuf.FieldOptions.EditionDefault} message EditionDefault + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EditionDefault.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.value = ""; + object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; + } + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + if (message.edition != null && message.hasOwnProperty("edition")) + object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; + return object; + }; + + /** + * Converts this EditionDefault to JSON. + * @function toJSON + * @memberof google.protobuf.FieldOptions.EditionDefault + * @instance + * @returns {Object.} JSON object + */ + EditionDefault.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EditionDefault + * @function getTypeUrl + * @memberof google.protobuf.FieldOptions.EditionDefault + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EditionDefault.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldOptions.EditionDefault"; + }; + + return EditionDefault; + })(); + + FieldOptions.FeatureSupport = (function() { + + /** + * Properties of a FeatureSupport. + * @memberof google.protobuf.FieldOptions + * @interface IFeatureSupport + * @property {google.protobuf.Edition|null} [editionIntroduced] FeatureSupport editionIntroduced + * @property {google.protobuf.Edition|null} [editionDeprecated] FeatureSupport editionDeprecated + * @property {string|null} [deprecationWarning] FeatureSupport deprecationWarning + * @property {google.protobuf.Edition|null} [editionRemoved] FeatureSupport editionRemoved + */ + + /** + * Constructs a new FeatureSupport. + * @memberof google.protobuf.FieldOptions + * @classdesc Represents a FeatureSupport. + * @implements IFeatureSupport + * @constructor + * @param {google.protobuf.FieldOptions.IFeatureSupport=} [properties] Properties to set + */ + function FeatureSupport(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * FeatureSupport editionIntroduced. + * @member {google.protobuf.Edition} editionIntroduced + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + */ + FeatureSupport.prototype.editionIntroduced = 0; + + /** + * FeatureSupport editionDeprecated. + * @member {google.protobuf.Edition} editionDeprecated + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + */ + FeatureSupport.prototype.editionDeprecated = 0; + + /** + * FeatureSupport deprecationWarning. + * @member {string} deprecationWarning + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + */ + FeatureSupport.prototype.deprecationWarning = ""; + + /** + * FeatureSupport editionRemoved. + * @member {google.protobuf.Edition} editionRemoved + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + */ + FeatureSupport.prototype.editionRemoved = 0; + + /** + * Creates a new FeatureSupport instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {google.protobuf.FieldOptions.IFeatureSupport=} [properties] Properties to set + * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport instance + */ + FeatureSupport.create = function create(properties) { + return new FeatureSupport(properties); + }; + + /** + * Encodes the specified FeatureSupport message. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {google.protobuf.FieldOptions.IFeatureSupport} message FeatureSupport message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FeatureSupport.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.editionIntroduced != null && Object.hasOwnProperty.call(message, "editionIntroduced")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.editionIntroduced); + if (message.editionDeprecated != null && Object.hasOwnProperty.call(message, "editionDeprecated")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.editionDeprecated); + if (message.deprecationWarning != null && Object.hasOwnProperty.call(message, "deprecationWarning")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.deprecationWarning); + if (message.editionRemoved != null && Object.hasOwnProperty.call(message, "editionRemoved")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.editionRemoved); + return writer; + }; + + /** + * Encodes the specified FeatureSupport message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {google.protobuf.FieldOptions.IFeatureSupport} message FeatureSupport message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FeatureSupport.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FeatureSupport.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.FeatureSupport(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.editionIntroduced = reader.int32(); + break; + } + case 2: { + message.editionDeprecated = reader.int32(); + break; + } + case 3: { + message.deprecationWarning = reader.string(); + break; + } + case 4: { + message.editionRemoved = reader.int32(); + break; + } + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FeatureSupport.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FeatureSupport message. + * @function verify + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FeatureSupport.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + if (message.editionIntroduced != null && message.hasOwnProperty("editionIntroduced")) + switch (message.editionIntroduced) { + default: + return "editionIntroduced: enum value expected"; + case 0: + case 900: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + if (message.editionDeprecated != null && message.hasOwnProperty("editionDeprecated")) + switch (message.editionDeprecated) { + default: + return "editionDeprecated: enum value expected"; + case 0: + case 900: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + if (message.deprecationWarning != null && message.hasOwnProperty("deprecationWarning")) + if (!$util.isString(message.deprecationWarning)) + return "deprecationWarning: string expected"; + if (message.editionRemoved != null && message.hasOwnProperty("editionRemoved")) + switch (message.editionRemoved) { + default: + return "editionRemoved: enum value expected"; + case 0: + case 900: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + return null; + }; + + /** + * Creates a FeatureSupport message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport + */ + FeatureSupport.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.protobuf.FieldOptions.FeatureSupport) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var message = new $root.google.protobuf.FieldOptions.FeatureSupport(); + switch (object.editionIntroduced) { + default: + if (typeof object.editionIntroduced === "number") { + message.editionIntroduced = object.editionIntroduced; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.editionIntroduced = 0; + break; + case "EDITION_LEGACY": + case 900: + message.editionIntroduced = 900; + break; + case "EDITION_PROTO2": + case 998: + message.editionIntroduced = 998; + break; + case "EDITION_PROTO3": + case 999: + message.editionIntroduced = 999; + break; + case "EDITION_2023": + case 1000: + message.editionIntroduced = 1000; + break; + case "EDITION_2024": + case 1001: + message.editionIntroduced = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.editionIntroduced = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.editionIntroduced = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.editionIntroduced = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.editionIntroduced = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.editionIntroduced = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.editionIntroduced = 2147483647; + break; + } + switch (object.editionDeprecated) { + default: + if (typeof object.editionDeprecated === "number") { + message.editionDeprecated = object.editionDeprecated; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.editionDeprecated = 0; + break; + case "EDITION_LEGACY": + case 900: + message.editionDeprecated = 900; + break; + case "EDITION_PROTO2": + case 998: + message.editionDeprecated = 998; + break; + case "EDITION_PROTO3": + case 999: + message.editionDeprecated = 999; + break; + case "EDITION_2023": + case 1000: + message.editionDeprecated = 1000; + break; + case "EDITION_2024": + case 1001: + message.editionDeprecated = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.editionDeprecated = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.editionDeprecated = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.editionDeprecated = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.editionDeprecated = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.editionDeprecated = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.editionDeprecated = 2147483647; + break; + } + if (object.deprecationWarning != null) + message.deprecationWarning = String(object.deprecationWarning); + switch (object.editionRemoved) { + default: + if (typeof object.editionRemoved === "number") { + message.editionRemoved = object.editionRemoved; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.editionRemoved = 0; + break; + case "EDITION_LEGACY": + case 900: + message.editionRemoved = 900; break; case "EDITION_PROTO2": case 998: - message.edition = 998; + message.editionRemoved = 998; break; case "EDITION_PROTO3": case 999: - message.edition = 999; + message.editionRemoved = 999; break; case "EDITION_2023": case 1000: - message.edition = 1000; + message.editionRemoved = 1000; break; case "EDITION_2024": case 1001: - message.edition = 1001; + message.editionRemoved = 1001; break; case "EDITION_1_TEST_ONLY": case 1: - message.edition = 1; + message.editionRemoved = 1; break; case "EDITION_2_TEST_ONLY": case 2: - message.edition = 2; + message.editionRemoved = 2; break; case "EDITION_99997_TEST_ONLY": case 99997: - message.edition = 99997; + message.editionRemoved = 99997; break; case "EDITION_99998_TEST_ONLY": case 99998: - message.edition = 99998; + message.editionRemoved = 99998; break; case "EDITION_99999_TEST_ONLY": case 99999: - message.edition = 99999; + message.editionRemoved = 99999; break; case "EDITION_MAX": case 2147483647: - message.edition = 2147483647; + message.editionRemoved = 2147483647; break; } - if (object.value != null) - message.value = String(object.value); return message; }; /** - * Creates a plain object from an EditionDefault message. Also converts values to other types if specified. + * Creates a plain object from a FeatureSupport message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.FieldOptions.EditionDefault + * @memberof google.protobuf.FieldOptions.FeatureSupport * @static - * @param {google.protobuf.FieldOptions.EditionDefault} message EditionDefault + * @param {google.protobuf.FieldOptions.FeatureSupport} message FeatureSupport * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - EditionDefault.toObject = function toObject(message, options) { + FeatureSupport.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.value = ""; - object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; + object.editionIntroduced = options.enums === String ? "EDITION_UNKNOWN" : 0; + object.editionDeprecated = options.enums === String ? "EDITION_UNKNOWN" : 0; + object.deprecationWarning = ""; + object.editionRemoved = options.enums === String ? "EDITION_UNKNOWN" : 0; } - if (message.value != null && message.hasOwnProperty("value")) - object.value = message.value; - if (message.edition != null && message.hasOwnProperty("edition")) - object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; + if (message.editionIntroduced != null && message.hasOwnProperty("editionIntroduced")) + object.editionIntroduced = options.enums === String ? $root.google.protobuf.Edition[message.editionIntroduced] === undefined ? message.editionIntroduced : $root.google.protobuf.Edition[message.editionIntroduced] : message.editionIntroduced; + if (message.editionDeprecated != null && message.hasOwnProperty("editionDeprecated")) + object.editionDeprecated = options.enums === String ? $root.google.protobuf.Edition[message.editionDeprecated] === undefined ? message.editionDeprecated : $root.google.protobuf.Edition[message.editionDeprecated] : message.editionDeprecated; + if (message.deprecationWarning != null && message.hasOwnProperty("deprecationWarning")) + object.deprecationWarning = message.deprecationWarning; + if (message.editionRemoved != null && message.hasOwnProperty("editionRemoved")) + object.editionRemoved = options.enums === String ? $root.google.protobuf.Edition[message.editionRemoved] === undefined ? message.editionRemoved : $root.google.protobuf.Edition[message.editionRemoved] : message.editionRemoved; return object; }; /** - * Converts this EditionDefault to JSON. + * Converts this FeatureSupport to JSON. * @function toJSON - * @memberof google.protobuf.FieldOptions.EditionDefault + * @memberof google.protobuf.FieldOptions.FeatureSupport * @instance * @returns {Object.} JSON object */ - EditionDefault.prototype.toJSON = function toJSON() { + FeatureSupport.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** - * Gets the default type url for EditionDefault + * Gets the default type url for FeatureSupport * @function getTypeUrl - * @memberof google.protobuf.FieldOptions.EditionDefault + * @memberof google.protobuf.FieldOptions.FeatureSupport * @static * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") * @returns {string} The default type url */ - EditionDefault.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + FeatureSupport.getTypeUrl = function getTypeUrl(typeUrlPrefix) { if (typeUrlPrefix === undefined) { typeUrlPrefix = "type.googleapis.com"; } - return typeUrlPrefix + "/google.protobuf.FieldOptions.EditionDefault"; + return typeUrlPrefix + "/google.protobuf.FieldOptions.FeatureSupport"; }; - return EditionDefault; + return FeatureSupport; })(); return FieldOptions; @@ -18894,7 +20867,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18970,9 +20943,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofOptions.decode = function decode(reader, length, error) { + OneofOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18980,17 +20957,17 @@ break; switch (tag >>> 3) { case 1: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19021,11 +20998,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OneofOptions.verify = function verify(message) { + OneofOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -19033,7 +21014,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -19049,14 +21030,18 @@ * @param {Object.} object Plain object * @returns {google.protobuf.OneofOptions} OneofOptions */ - OneofOptions.fromObject = function fromObject(object) { + OneofOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.OneofOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.OneofOptions(); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.OneofOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -19065,7 +21050,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -19152,7 +21137,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19258,9 +21243,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumOptions.decode = function decode(reader, length, error) { + EnumOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19280,17 +21269,17 @@ break; } case 7: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19321,9 +21310,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumOptions.verify = function verify(message) { + EnumOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) if (typeof message.allowAlias !== "boolean") return "allowAlias: boolean expected"; @@ -19334,7 +21327,7 @@ if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") return "deprecatedLegacyJsonFieldConflicts: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -19342,7 +21335,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -19358,9 +21351,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumOptions} EnumOptions */ - EnumOptions.fromObject = function fromObject(object) { + EnumOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumOptions(); if (object.allowAlias != null) message.allowAlias = Boolean(object.allowAlias); @@ -19371,7 +21368,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.EnumOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -19380,7 +21377,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -19461,6 +21458,7 @@ * @property {boolean|null} [deprecated] EnumValueOptions deprecated * @property {google.protobuf.IFeatureSet|null} [features] EnumValueOptions features * @property {boolean|null} [debugRedact] EnumValueOptions debugRedact + * @property {google.protobuf.FieldOptions.IFeatureSupport|null} [featureSupport] EnumValueOptions featureSupport * @property {Array.|null} [uninterpretedOption] EnumValueOptions uninterpretedOption */ @@ -19476,7 +21474,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19504,6 +21502,14 @@ */ EnumValueOptions.prototype.debugRedact = false; + /** + * EnumValueOptions featureSupport. + * @member {google.protobuf.FieldOptions.IFeatureSupport|null|undefined} featureSupport + * @memberof google.protobuf.EnumValueOptions + * @instance + */ + EnumValueOptions.prototype.featureSupport = null; + /** * EnumValueOptions uninterpretedOption. * @member {Array.} uninterpretedOption @@ -19542,6 +21548,8 @@ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.debugRedact != null && Object.hasOwnProperty.call(message, "debugRedact")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.debugRedact); + if (message.featureSupport != null && Object.hasOwnProperty.call(message, "featureSupport")) + $root.google.protobuf.FieldOptions.FeatureSupport.encode(message.featureSupport, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); @@ -19572,9 +21580,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueOptions.decode = function decode(reader, length, error) { + EnumValueOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19586,21 +21598,25 @@ break; } case 2: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { message.debugRedact = reader.bool(); break; } + case 4: { + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32(), undefined, long + 1); + break; + } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19631,25 +21647,34 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumValueOptions.verify = function verify(message) { + EnumValueOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.deprecated != null && message.hasOwnProperty("deprecated")) if (typeof message.deprecated !== "boolean") return "deprecated: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) if (typeof message.debugRedact !== "boolean") return "debugRedact: boolean expected"; + if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) { + var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport, long + 1); + if (error) + return "featureSupport." + error; + } if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -19665,19 +21690,28 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumValueOptions} EnumValueOptions */ - EnumValueOptions.fromObject = function fromObject(object) { + EnumValueOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumValueOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumValueOptions(); if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.EnumValueOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.debugRedact != null) message.debugRedact = Boolean(object.debugRedact); + if (object.featureSupport != null) { + if (typeof object.featureSupport !== "object") + throw TypeError(".google.protobuf.EnumValueOptions.featureSupport: object expected"); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport, long + 1); + } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected"); @@ -19685,7 +21719,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -19710,6 +21744,7 @@ object.deprecated = false; object.features = null; object.debugRedact = false; + object.featureSupport = null; } if (message.deprecated != null && message.hasOwnProperty("deprecated")) object.deprecated = message.deprecated; @@ -19717,6 +21752,8 @@ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) object.debugRedact = message.debugRedact; + if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) + object.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.toObject(message.featureSupport, options); if (message.uninterpretedOption && message.uninterpretedOption.length) { object.uninterpretedOption = []; for (var j = 0; j < message.uninterpretedOption.length; ++j) @@ -19780,7 +21817,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19896,9 +21933,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceOptions.decode = function decode(reader, length, error) { + ServiceOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19906,7 +21947,7 @@ break; switch (tag >>> 3) { case 34: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 33: { @@ -19916,7 +21957,7 @@ case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1049: { @@ -19932,7 +21973,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19963,11 +22004,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ServiceOptions.verify = function verify(message) { + ServiceOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -19978,7 +22023,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -20003,14 +22048,18 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ServiceOptions} ServiceOptions */ - ServiceOptions.fromObject = function fromObject(object) { + ServiceOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ServiceOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ServiceOptions(); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.ServiceOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); @@ -20021,7 +22070,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.defaultHost"] != null) @@ -20129,7 +22178,7 @@ this[".google.api.methodSignature"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20246,9 +22295,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodOptions.decode = function decode(reader, length, error) { + MethodOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20264,17 +22317,17 @@ break; } case 35: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 72295728: { - message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32()); + message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1051: { @@ -20284,7 +22337,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20315,9 +22368,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodOptions.verify = function verify(message) { + MethodOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.deprecated != null && message.hasOwnProperty("deprecated")) if (typeof message.deprecated !== "boolean") return "deprecated: boolean expected"; @@ -20331,7 +22388,7 @@ break; } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -20339,13 +22396,13 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } } if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) { - var error = $root.google.api.HttpRule.verify(message[".google.api.http"]); + var error = $root.google.api.HttpRule.verify(message[".google.api.http"], long + 1); if (error) return ".google.api.http." + error; } @@ -20367,9 +22424,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MethodOptions} MethodOptions */ - MethodOptions.fromObject = function fromObject(object) { + MethodOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MethodOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MethodOptions(); if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); @@ -20396,7 +22457,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.MethodOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -20405,13 +22466,13 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.http"] != null) { if (typeof object[".google.api.http"] !== "object") throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected"); - message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"]); + message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"], long + 1); } if (object[".google.api.methodSignature"]) { if (!Array.isArray(object[".google.api.methodSignature"])) @@ -20539,7 +22600,7 @@ this.name = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20665,9 +22726,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UninterpretedOption.decode = function decode(reader, length, error) { + UninterpretedOption.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20677,7 +22742,7 @@ case 2: { if (!(message.name && message.name.length)) message.name = []; - message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); + message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -20705,7 +22770,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20736,14 +22801,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UninterpretedOption.verify = function verify(message) { + UninterpretedOption.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) { if (!Array.isArray(message.name)) return "name: array expected"; for (var i = 0; i < message.name.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i]); + var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i], long + 1); if (error) return "name." + error; } @@ -20777,9 +22846,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.UninterpretedOption} UninterpretedOption */ - UninterpretedOption.fromObject = function fromObject(object) { + UninterpretedOption.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.UninterpretedOption) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.UninterpretedOption(); if (object.name) { if (!Array.isArray(object.name)) @@ -20788,7 +22861,7 @@ for (var i = 0; i < object.name.length; ++i) { if (typeof object.name[i] !== "object") throw TypeError(".google.protobuf.UninterpretedOption.name: object expected"); - message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i]); + message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i], long + 1); } } if (object.identifierValue != null) @@ -20933,7 +23006,7 @@ function NamePart(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21006,9 +23079,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NamePart.decode = function decode(reader, length, error) { + NamePart.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21024,7 +23101,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21059,9 +23136,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NamePart.verify = function verify(message) { + NamePart.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (!$util.isString(message.namePart)) return "namePart: string expected"; if (typeof message.isExtension !== "boolean") @@ -21077,9 +23158,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart */ - NamePart.fromObject = function fromObject(object) { + NamePart.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.UninterpretedOption.NamePart) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.UninterpretedOption.NamePart(); if (object.namePart != null) message.namePart = String(object.namePart); @@ -21156,6 +23241,8 @@ * @property {google.protobuf.FeatureSet.Utf8Validation|null} [utf8Validation] FeatureSet utf8Validation * @property {google.protobuf.FeatureSet.MessageEncoding|null} [messageEncoding] FeatureSet messageEncoding * @property {google.protobuf.FeatureSet.JsonFormat|null} [jsonFormat] FeatureSet jsonFormat + * @property {google.protobuf.FeatureSet.EnforceNamingStyle|null} [enforceNamingStyle] FeatureSet enforceNamingStyle + * @property {google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|null} [defaultSymbolVisibility] FeatureSet defaultSymbolVisibility */ /** @@ -21169,7 +23256,7 @@ function FeatureSet(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21221,6 +23308,22 @@ */ FeatureSet.prototype.jsonFormat = 0; + /** + * FeatureSet enforceNamingStyle. + * @member {google.protobuf.FeatureSet.EnforceNamingStyle} enforceNamingStyle + * @memberof google.protobuf.FeatureSet + * @instance + */ + FeatureSet.prototype.enforceNamingStyle = 0; + + /** + * FeatureSet defaultSymbolVisibility. + * @member {google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility} defaultSymbolVisibility + * @memberof google.protobuf.FeatureSet + * @instance + */ + FeatureSet.prototype.defaultSymbolVisibility = 0; + /** * Creates a new FeatureSet instance using the specified properties. * @function create @@ -21257,6 +23360,10 @@ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.messageEncoding); if (message.jsonFormat != null && Object.hasOwnProperty.call(message, "jsonFormat")) writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jsonFormat); + if (message.enforceNamingStyle != null && Object.hasOwnProperty.call(message, "enforceNamingStyle")) + writer.uint32(/* id 7, wireType 0 =*/56).int32(message.enforceNamingStyle); + if (message.defaultSymbolVisibility != null && Object.hasOwnProperty.call(message, "defaultSymbolVisibility")) + writer.uint32(/* id 8, wireType 0 =*/64).int32(message.defaultSymbolVisibility); return writer; }; @@ -21284,9 +23391,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSet.decode = function decode(reader, length, error) { + FeatureSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21317,8 +23428,16 @@ message.jsonFormat = reader.int32(); break; } + case 7: { + message.enforceNamingStyle = reader.int32(); + break; + } + case 8: { + message.defaultSymbolVisibility = reader.int32(); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21349,9 +23468,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSet.verify = function verify(message) { + FeatureSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence")) switch (message.fieldPresence) { default: @@ -21407,6 +23530,26 @@ case 2: break; } + if (message.enforceNamingStyle != null && message.hasOwnProperty("enforceNamingStyle")) + switch (message.enforceNamingStyle) { + default: + return "enforceNamingStyle: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.defaultSymbolVisibility != null && message.hasOwnProperty("defaultSymbolVisibility")) + switch (message.defaultSymbolVisibility) { + default: + return "defaultSymbolVisibility: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } return null; }; @@ -21418,9 +23561,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSet} FeatureSet */ - FeatureSet.fromObject = function fromObject(object) { + FeatureSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSet(); switch (object.fieldPresence) { default: @@ -21546,6 +23693,54 @@ message.jsonFormat = 2; break; } + switch (object.enforceNamingStyle) { + default: + if (typeof object.enforceNamingStyle === "number") { + message.enforceNamingStyle = object.enforceNamingStyle; + break; + } + break; + case "ENFORCE_NAMING_STYLE_UNKNOWN": + case 0: + message.enforceNamingStyle = 0; + break; + case "STYLE2024": + case 1: + message.enforceNamingStyle = 1; + break; + case "STYLE_LEGACY": + case 2: + message.enforceNamingStyle = 2; + break; + } + switch (object.defaultSymbolVisibility) { + default: + if (typeof object.defaultSymbolVisibility === "number") { + message.defaultSymbolVisibility = object.defaultSymbolVisibility; + break; + } + break; + case "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": + case 0: + message.defaultSymbolVisibility = 0; + break; + case "EXPORT_ALL": + case 1: + message.defaultSymbolVisibility = 1; + break; + case "EXPORT_TOP_LEVEL": + case 2: + message.defaultSymbolVisibility = 2; + break; + case "LOCAL_ALL": + case 3: + message.defaultSymbolVisibility = 3; + break; + case "STRICT": + case 4: + message.defaultSymbolVisibility = 4; + break; + } return message; }; @@ -21569,6 +23764,8 @@ object.utf8Validation = options.enums === String ? "UTF8_VALIDATION_UNKNOWN" : 0; object.messageEncoding = options.enums === String ? "MESSAGE_ENCODING_UNKNOWN" : 0; object.jsonFormat = options.enums === String ? "JSON_FORMAT_UNKNOWN" : 0; + object.enforceNamingStyle = options.enums === String ? "ENFORCE_NAMING_STYLE_UNKNOWN" : 0; + object.defaultSymbolVisibility = options.enums === String ? "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN" : 0; } if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence")) object.fieldPresence = options.enums === String ? $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] === undefined ? message.fieldPresence : $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] : message.fieldPresence; @@ -21582,6 +23779,10 @@ object.messageEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] === undefined ? message.messageEncoding : $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] : message.messageEncoding; if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat")) object.jsonFormat = options.enums === String ? $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] === undefined ? message.jsonFormat : $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] : message.jsonFormat; + if (message.enforceNamingStyle != null && message.hasOwnProperty("enforceNamingStyle")) + object.enforceNamingStyle = options.enums === String ? $root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle] === undefined ? message.enforceNamingStyle : $root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle] : message.enforceNamingStyle; + if (message.defaultSymbolVisibility != null && message.hasOwnProperty("defaultSymbolVisibility")) + object.defaultSymbolVisibility = options.enums === String ? $root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility] === undefined ? message.defaultSymbolVisibility : $root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility] : message.defaultSymbolVisibility; return object; }; @@ -21709,6 +23910,231 @@ return values; })(); + /** + * EnforceNamingStyle enum. + * @name google.protobuf.FeatureSet.EnforceNamingStyle + * @enum {number} + * @property {number} ENFORCE_NAMING_STYLE_UNKNOWN=0 ENFORCE_NAMING_STYLE_UNKNOWN value + * @property {number} STYLE2024=1 STYLE2024 value + * @property {number} STYLE_LEGACY=2 STYLE_LEGACY value + */ + FeatureSet.EnforceNamingStyle = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "ENFORCE_NAMING_STYLE_UNKNOWN"] = 0; + values[valuesById[1] = "STYLE2024"] = 1; + values[valuesById[2] = "STYLE_LEGACY"] = 2; + return values; + })(); + + FeatureSet.VisibilityFeature = (function() { + + /** + * Properties of a VisibilityFeature. + * @memberof google.protobuf.FeatureSet + * @interface IVisibilityFeature + */ + + /** + * Constructs a new VisibilityFeature. + * @memberof google.protobuf.FeatureSet + * @classdesc Represents a VisibilityFeature. + * @implements IVisibilityFeature + * @constructor + * @param {google.protobuf.FeatureSet.IVisibilityFeature=} [properties] Properties to set + */ + function VisibilityFeature(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new VisibilityFeature instance using the specified properties. + * @function create + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {google.protobuf.FeatureSet.IVisibilityFeature=} [properties] Properties to set + * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature instance + */ + VisibilityFeature.create = function create(properties) { + return new VisibilityFeature(properties); + }; + + /** + * Encodes the specified VisibilityFeature message. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {google.protobuf.FeatureSet.IVisibilityFeature} message VisibilityFeature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VisibilityFeature.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified VisibilityFeature message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {google.protobuf.FeatureSet.IVisibilityFeature} message VisibilityFeature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VisibilityFeature.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VisibilityFeature.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet.VisibilityFeature(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VisibilityFeature.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VisibilityFeature message. + * @function verify + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VisibilityFeature.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + return null; + }; + + /** + * Creates a VisibilityFeature message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature + */ + VisibilityFeature.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.protobuf.FeatureSet.VisibilityFeature) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + return new $root.google.protobuf.FeatureSet.VisibilityFeature(); + }; + + /** + * Creates a plain object from a VisibilityFeature message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {google.protobuf.FeatureSet.VisibilityFeature} message VisibilityFeature + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VisibilityFeature.toObject = function toObject() { + return {}; + }; + + /** + * Converts this VisibilityFeature to JSON. + * @function toJSON + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @instance + * @returns {Object.} JSON object + */ + VisibilityFeature.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for VisibilityFeature + * @function getTypeUrl + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VisibilityFeature.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FeatureSet.VisibilityFeature"; + }; + + /** + * DefaultSymbolVisibility enum. + * @name google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility + * @enum {number} + * @property {number} DEFAULT_SYMBOL_VISIBILITY_UNKNOWN=0 DEFAULT_SYMBOL_VISIBILITY_UNKNOWN value + * @property {number} EXPORT_ALL=1 EXPORT_ALL value + * @property {number} EXPORT_TOP_LEVEL=2 EXPORT_TOP_LEVEL value + * @property {number} LOCAL_ALL=3 LOCAL_ALL value + * @property {number} STRICT=4 STRICT value + */ + VisibilityFeature.DefaultSymbolVisibility = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN"] = 0; + values[valuesById[1] = "EXPORT_ALL"] = 1; + values[valuesById[2] = "EXPORT_TOP_LEVEL"] = 2; + values[valuesById[3] = "LOCAL_ALL"] = 3; + values[valuesById[4] = "STRICT"] = 4; + return values; + })(); + + return VisibilityFeature; + })(); + return FeatureSet; })(); @@ -21735,7 +24161,7 @@ this.defaults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21821,9 +24247,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSetDefaults.decode = function decode(reader, length, error) { + FeatureSetDefaults.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21833,7 +24263,7 @@ case 1: { if (!(message.defaults && message.defaults.length)) message.defaults = []; - message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32())); + message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { @@ -21845,7 +24275,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21876,14 +24306,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSetDefaults.verify = function verify(message) { + FeatureSetDefaults.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.defaults != null && message.hasOwnProperty("defaults")) { if (!Array.isArray(message.defaults)) return "defaults: array expected"; for (var i = 0; i < message.defaults.length; ++i) { - var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i]); + var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i], long + 1); if (error) return "defaults." + error; } @@ -21893,6 +24327,7 @@ default: return "minimumEdition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -21910,6 +24345,7 @@ default: return "maximumEdition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -21933,9 +24369,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults */ - FeatureSetDefaults.fromObject = function fromObject(object) { + FeatureSetDefaults.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSetDefaults) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSetDefaults(); if (object.defaults) { if (!Array.isArray(object.defaults)) @@ -21944,7 +24384,7 @@ for (var i = 0; i < object.defaults.length; ++i) { if (typeof object.defaults[i] !== "object") throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: object expected"); - message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i]); + message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i], long + 1); } } switch (object.minimumEdition) { @@ -21958,6 +24398,10 @@ case 0: message.minimumEdition = 0; break; + case "EDITION_LEGACY": + case 900: + message.minimumEdition = 900; + break; case "EDITION_PROTO2": case 998: message.minimumEdition = 998; @@ -22010,6 +24454,10 @@ case 0: message.maximumEdition = 0; break; + case "EDITION_LEGACY": + case 900: + message.maximumEdition = 900; + break; case "EDITION_PROTO2": case 998: message.maximumEdition = 998; @@ -22118,7 +24566,8 @@ * @memberof google.protobuf.FeatureSetDefaults * @interface IFeatureSetEditionDefault * @property {google.protobuf.Edition|null} [edition] FeatureSetEditionDefault edition - * @property {google.protobuf.IFeatureSet|null} [features] FeatureSetEditionDefault features + * @property {google.protobuf.IFeatureSet|null} [overridableFeatures] FeatureSetEditionDefault overridableFeatures + * @property {google.protobuf.IFeatureSet|null} [fixedFeatures] FeatureSetEditionDefault fixedFeatures */ /** @@ -22132,7 +24581,7 @@ function FeatureSetEditionDefault(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22145,12 +24594,20 @@ FeatureSetEditionDefault.prototype.edition = 0; /** - * FeatureSetEditionDefault features. - * @member {google.protobuf.IFeatureSet|null|undefined} features + * FeatureSetEditionDefault overridableFeatures. + * @member {google.protobuf.IFeatureSet|null|undefined} overridableFeatures + * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + * @instance + */ + FeatureSetEditionDefault.prototype.overridableFeatures = null; + + /** + * FeatureSetEditionDefault fixedFeatures. + * @member {google.protobuf.IFeatureSet|null|undefined} fixedFeatures * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault * @instance */ - FeatureSetEditionDefault.prototype.features = null; + FeatureSetEditionDefault.prototype.fixedFeatures = null; /** * Creates a new FeatureSetEditionDefault instance using the specified properties. @@ -22176,10 +24633,12 @@ FeatureSetEditionDefault.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.features != null && Object.hasOwnProperty.call(message, "features")) - $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.edition); + if (message.overridableFeatures != null && Object.hasOwnProperty.call(message, "overridableFeatures")) + $root.google.protobuf.FeatureSet.encode(message.overridableFeatures, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.fixedFeatures != null && Object.hasOwnProperty.call(message, "fixedFeatures")) + $root.google.protobuf.FeatureSet.encode(message.fixedFeatures, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -22207,9 +24666,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSetEditionDefault.decode = function decode(reader, length, error) { + FeatureSetEditionDefault.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22220,12 +24683,16 @@ message.edition = reader.int32(); break; } - case 2: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + case 4: { + message.overridableFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); + break; + } + case 5: { + message.fixedFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22256,14 +24723,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSetEditionDefault.verify = function verify(message) { + FeatureSetEditionDefault.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.edition != null && message.hasOwnProperty("edition")) switch (message.edition) { default: return "edition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -22276,10 +24748,15 @@ case 2147483647: break; } - if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures")) { + var error = $root.google.protobuf.FeatureSet.verify(message.overridableFeatures, long + 1); + if (error) + return "overridableFeatures." + error; + } + if (message.fixedFeatures != null && message.hasOwnProperty("fixedFeatures")) { + var error = $root.google.protobuf.FeatureSet.verify(message.fixedFeatures, long + 1); if (error) - return "features." + error; + return "fixedFeatures." + error; } return null; }; @@ -22292,9 +24769,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault */ - FeatureSetEditionDefault.fromObject = function fromObject(object) { + FeatureSetEditionDefault.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); switch (object.edition) { default: @@ -22307,6 +24788,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -22348,10 +24833,15 @@ message.edition = 2147483647; break; } - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + if (object.overridableFeatures != null) { + if (typeof object.overridableFeatures !== "object") + throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridableFeatures: object expected"); + message.overridableFeatures = $root.google.protobuf.FeatureSet.fromObject(object.overridableFeatures, long + 1); + } + if (object.fixedFeatures != null) { + if (typeof object.fixedFeatures !== "object") + throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixedFeatures: object expected"); + message.fixedFeatures = $root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures, long + 1); } return message; }; @@ -22370,13 +24860,16 @@ options = {}; var object = {}; if (options.defaults) { - object.features = null; object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; + object.overridableFeatures = null; + object.fixedFeatures = null; } - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); if (message.edition != null && message.hasOwnProperty("edition")) object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; + if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures")) + object.overridableFeatures = $root.google.protobuf.FeatureSet.toObject(message.overridableFeatures, options); + if (message.fixedFeatures != null && message.hasOwnProperty("fixedFeatures")) + object.fixedFeatures = $root.google.protobuf.FeatureSet.toObject(message.fixedFeatures, options); return object; }; @@ -22433,7 +24926,7 @@ this.location = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22499,9 +24992,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SourceCodeInfo.decode = function decode(reader, length, error) { + SourceCodeInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22511,11 +25008,11 @@ case 1: { if (!(message.location && message.location.length)) message.location = []; - message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); + message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22546,14 +25043,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SourceCodeInfo.verify = function verify(message) { + SourceCodeInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.location != null && message.hasOwnProperty("location")) { if (!Array.isArray(message.location)) return "location: array expected"; for (var i = 0; i < message.location.length; ++i) { - var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i]); + var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i], long + 1); if (error) return "location." + error; } @@ -22569,9 +25070,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo */ - SourceCodeInfo.fromObject = function fromObject(object) { + SourceCodeInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.SourceCodeInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.SourceCodeInfo(); if (object.location) { if (!Array.isArray(object.location)) @@ -22580,7 +25085,7 @@ for (var i = 0; i < object.location.length; ++i) { if (typeof object.location[i] !== "object") throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected"); - message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i]); + message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i], long + 1); } } return message; @@ -22662,7 +25167,7 @@ this.leadingDetachedComments = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22776,9 +25281,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Location.decode = function decode(reader, length, error) { + Location.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo.Location(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22822,7 +25331,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22853,9 +25362,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Location.verify = function verify(message) { + Location.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.path != null && message.hasOwnProperty("path")) { if (!Array.isArray(message.path)) return "path: array expected"; @@ -22894,9 +25407,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.SourceCodeInfo.Location} Location */ - Location.fromObject = function fromObject(object) { + Location.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.SourceCodeInfo.Location) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.SourceCodeInfo.Location(); if (object.path) { if (!Array.isArray(object.path)) @@ -23023,7 +25540,7 @@ this.annotation = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23089,9 +25606,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeneratedCodeInfo.decode = function decode(reader, length, error) { + GeneratedCodeInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23101,11 +25622,11 @@ case 1: { if (!(message.annotation && message.annotation.length)) message.annotation = []; - message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); + message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23136,14 +25657,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GeneratedCodeInfo.verify = function verify(message) { + GeneratedCodeInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.annotation != null && message.hasOwnProperty("annotation")) { if (!Array.isArray(message.annotation)) return "annotation: array expected"; for (var i = 0; i < message.annotation.length; ++i) { - var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i]); + var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i], long + 1); if (error) return "annotation." + error; } @@ -23159,9 +25684,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo */ - GeneratedCodeInfo.fromObject = function fromObject(object) { + GeneratedCodeInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.GeneratedCodeInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.GeneratedCodeInfo(); if (object.annotation) { if (!Array.isArray(object.annotation)) @@ -23170,7 +25699,7 @@ for (var i = 0; i < object.annotation.length; ++i) { if (typeof object.annotation[i] !== "object") throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected"); - message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i]); + message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i], long + 1); } } return message; @@ -23250,7 +25779,7 @@ this.path = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23359,9 +25888,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Annotation.decode = function decode(reader, length, error) { + Annotation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23396,7 +25929,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23427,9 +25960,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Annotation.verify = function verify(message) { + Annotation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.path != null && message.hasOwnProperty("path")) { if (!Array.isArray(message.path)) return "path: array expected"; @@ -23466,9 +26003,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation */ - Annotation.fromObject = function fromObject(object) { + Annotation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); if (object.path) { if (!Array.isArray(object.path)) @@ -23591,6 +26132,22 @@ return GeneratedCodeInfo; })(); + /** + * SymbolVisibility enum. + * @name google.protobuf.SymbolVisibility + * @enum {number} + * @property {number} VISIBILITY_UNSET=0 VISIBILITY_UNSET value + * @property {number} VISIBILITY_LOCAL=1 VISIBILITY_LOCAL value + * @property {number} VISIBILITY_EXPORT=2 VISIBILITY_EXPORT value + */ + protobuf.SymbolVisibility = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "VISIBILITY_UNSET"] = 0; + values[valuesById[1] = "VISIBILITY_LOCAL"] = 1; + values[valuesById[2] = "VISIBILITY_EXPORT"] = 2; + return values; + })(); + protobuf.Timestamp = (function() { /** @@ -23612,7 +26169,7 @@ function Timestamp(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23687,9 +26244,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Timestamp.decode = function decode(reader, length, error) { + Timestamp.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23705,7 +26266,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23736,9 +26297,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Timestamp.verify = function verify(message) { + Timestamp.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.seconds != null && message.hasOwnProperty("seconds")) if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) return "seconds: integer|Long expected"; @@ -23756,9 +26321,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Timestamp} Timestamp */ - Timestamp.fromObject = function fromObject(object) { + Timestamp.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Timestamp) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Timestamp(); if (object.seconds != null) if ($util.Long) @@ -23855,7 +26424,7 @@ function Duration(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23930,9 +26499,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Duration.decode = function decode(reader, length, error) { + Duration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23948,7 +26521,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23979,9 +26552,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Duration.verify = function verify(message) { + Duration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.seconds != null && message.hasOwnProperty("seconds")) if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) return "seconds: integer|Long expected"; @@ -23999,9 +26576,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Duration} Duration */ - Duration.fromObject = function fromObject(object) { + Duration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Duration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Duration(); if (object.seconds != null) if ($util.Long) diff --git a/packages/google-cloud-servicehealth/protos/protos.json b/packages/google-cloud-servicehealth/protos/protos.json index af3ab21037a4..fe85ffac67b2 100644 --- a/packages/google-cloud-servicehealth/protos/protos.json +++ b/packages/google-cloud-servicehealth/protos/protos.json @@ -820,8 +820,7 @@ "java_multiple_files": true, "java_outer_classname": "LaunchStageProto", "java_package": "com.google.api", - "objc_class_prefix": "GAPI", - "cc_enable_arenas": true + "objc_class_prefix": "GAPI" }, "nested": { "fieldBehavior": { @@ -1044,6 +1043,10 @@ "rule": "repeated", "type": "ClientLibraryDestination", "id": 2 + }, + "selectiveGapicGeneration": { + "type": "SelectiveGapicGeneration", + "id": 3 } } }, @@ -1184,6 +1187,28 @@ "common": { "type": "CommonLanguageSettings", "id": 1 + }, + "experimentalFeatures": { + "type": "ExperimentalFeatures", + "id": 2 + } + }, + "nested": { + "ExperimentalFeatures": { + "fields": { + "restAsyncIoEnabled": { + "type": "bool", + "id": 1 + }, + "protobufPythonicTypesEnabled": { + "type": "bool", + "id": 2 + }, + "unversionedPackageDisabled": { + "type": "bool", + "id": 3 + } + } } } }, @@ -1241,6 +1266,11 @@ "common": { "type": "CommonLanguageSettings", "id": 1 + }, + "renamedServices": { + "keyType": "string", + "type": "string", + "id": 2 } } }, @@ -1302,6 +1332,19 @@ "PACKAGE_MANAGER": 20 } }, + "SelectiveGapicGeneration": { + "fields": { + "methods": { + "rule": "repeated", + "type": "string", + "id": 1 + }, + "generateOmittedAsInternal": { + "type": "bool", + "id": 2 + } + } + }, "LaunchStage": { "values": { "LAUNCH_STAGE_UNSPECIFIED": 0, @@ -1335,12 +1378,19 @@ "type": "FileDescriptorProto", "id": 1 } - } + }, + "extensions": [ + [ + 536000000, + 536000000 + ] + ] }, "Edition": { "edition": "proto2", "values": { "EDITION_UNKNOWN": 0, + "EDITION_LEGACY": 900, "EDITION_PROTO2": 998, "EDITION_PROTO3": 999, "EDITION_2023": 1000, @@ -1379,6 +1429,11 @@ "type": "int32", "id": 11 }, + "optionDependency": { + "rule": "repeated", + "type": "string", + "id": 15 + }, "messageType": { "rule": "repeated", "type": "DescriptorProto", @@ -1467,6 +1522,10 @@ "rule": "repeated", "type": "string", "id": 10 + }, + "visibility": { + "type": "SymbolVisibility", + "id": 11 } }, "nested": { @@ -1692,6 +1751,10 @@ "rule": "repeated", "type": "string", "id": 5 + }, + "visibility": { + "type": "SymbolVisibility", + "id": 6 } }, "nested": { @@ -1742,7 +1805,14 @@ "type": "ServiceOptions", "id": 3 } - } + }, + "reserved": [ + [ + 4, + 4 + ], + "stream" + ] }, "MethodDescriptorProto": { "edition": "proto2", @@ -1906,6 +1976,7 @@ 42, 42 ], + "php_generic_services", [ 38, 38 @@ -2041,7 +2112,8 @@ "type": "bool", "id": 10, "options": { - "default": false + "default": false, + "deprecated": true } }, "debugRedact": { @@ -2069,6 +2141,10 @@ "type": "FeatureSet", "id": 21 }, + "featureSupport": { + "type": "FeatureSupport", + "id": 22 + }, "uninterpretedOption": { "rule": "repeated", "type": "UninterpretedOption", @@ -2138,6 +2214,26 @@ "id": 2 } } + }, + "FeatureSupport": { + "fields": { + "editionIntroduced": { + "type": "Edition", + "id": 1 + }, + "editionDeprecated": { + "type": "Edition", + "id": 2 + }, + "deprecationWarning": { + "type": "string", + "id": 3 + }, + "editionRemoved": { + "type": "Edition", + "id": 4 + } + } } } }, @@ -2226,6 +2322,10 @@ "default": false } }, + "featureSupport": { + "type": "FieldOptions.FeatureSupport", + "id": 4 + }, "uninterpretedOption": { "rule": "repeated", "type": "UninterpretedOption", @@ -2368,6 +2468,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_2023", "edition_defaults.value": "EXPLICIT" } @@ -2378,6 +2479,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "OPEN" } @@ -2388,6 +2490,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "PACKED" } @@ -2398,6 +2501,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "VERIFY" } @@ -2408,7 +2512,8 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", - "edition_defaults.edition": "EDITION_PROTO2", + "feature_support.edition_introduced": "EDITION_2023", + "edition_defaults.edition": "EDITION_LEGACY", "edition_defaults.value": "LENGTH_PREFIXED" } }, @@ -2418,27 +2523,38 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "ALLOW" } + }, + "enforceNamingStyle": { + "type": "EnforceNamingStyle", + "id": 7, + "options": { + "retention": "RETENTION_SOURCE", + "targets": "TARGET_TYPE_METHOD", + "feature_support.edition_introduced": "EDITION_2024", + "edition_defaults.edition": "EDITION_2024", + "edition_defaults.value": "STYLE2024" + } + }, + "defaultSymbolVisibility": { + "type": "VisibilityFeature.DefaultSymbolVisibility", + "id": 8, + "options": { + "retention": "RETENTION_SOURCE", + "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2024", + "edition_defaults.edition": "EDITION_2024", + "edition_defaults.value": "EXPORT_TOP_LEVEL" + } } }, "extensions": [ [ 1000, - 1000 - ], - [ - 1001, - 1001 - ], - [ - 1002, - 1002 - ], - [ - 9990, - 9990 + 9994 ], [ 9995, @@ -2483,7 +2599,13 @@ "UTF8_VALIDATION_UNKNOWN": 0, "VERIFY": 2, "NONE": 3 - } + }, + "reserved": [ + [ + 1, + 1 + ] + ] }, "MessageEncoding": { "values": { @@ -2498,6 +2620,33 @@ "ALLOW": 1, "LEGACY_BEST_EFFORT": 2 } + }, + "EnforceNamingStyle": { + "values": { + "ENFORCE_NAMING_STYLE_UNKNOWN": 0, + "STYLE2024": 1, + "STYLE_LEGACY": 2 + } + }, + "VisibilityFeature": { + "fields": {}, + "reserved": [ + [ + 1, + 536870911 + ] + ], + "nested": { + "DefaultSymbolVisibility": { + "values": { + "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": 0, + "EXPORT_ALL": 1, + "EXPORT_TOP_LEVEL": 2, + "LOCAL_ALL": 3, + "STRICT": 4 + } + } + } } } }, @@ -2525,11 +2674,26 @@ "type": "Edition", "id": 3 }, - "features": { + "overridableFeatures": { "type": "FeatureSet", - "id": 2 + "id": 4 + }, + "fixedFeatures": { + "type": "FeatureSet", + "id": 5 } - } + }, + "reserved": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + "features" + ] } } }, @@ -2542,6 +2706,12 @@ "id": 1 } }, + "extensions": [ + [ + 536000000, + 536000000 + ] + ], "nested": { "Location": { "fields": { @@ -2627,6 +2797,14 @@ } } }, + "SymbolVisibility": { + "edition": "proto2", + "values": { + "VISIBILITY_UNSET": 0, + "VISIBILITY_LOCAL": 1, + "VISIBILITY_EXPORT": 2 + } + }, "Timestamp": { "fields": { "seconds": { diff --git a/packages/google-cloud-servicehealth/src/v1/index.ts b/packages/google-cloud-servicehealth/src/v1/index.ts index 3f18e4d6689c..b99181225750 100644 --- a/packages/google-cloud-servicehealth/src/v1/index.ts +++ b/packages/google-cloud-servicehealth/src/v1/index.ts @@ -16,4 +16,4 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -export {ServiceHealthClient} from './service_health_client'; +export { ServiceHealthClient } from './service_health_client'; diff --git a/packages/google-cloud-servicehealth/src/v1/service_health_client.ts b/packages/google-cloud-servicehealth/src/v1/service_health_client.ts index ee5385592323..69dec0ec6704 100644 --- a/packages/google-cloud-servicehealth/src/v1/service_health_client.ts +++ b/packages/google-cloud-servicehealth/src/v1/service_health_client.ts @@ -18,11 +18,20 @@ /* global window */ import type * as gax from 'google-gax'; -import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall, LocationsClient, LocationProtos} from 'google-gax'; -import {Transform} from 'stream'; +import type { + Callback, + CallOptions, + Descriptors, + ClientOptions, + PaginationCallback, + GaxCall, + LocationsClient, + LocationProtos, +} from 'google-gax'; +import { Transform } from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); -import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax'; +import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -44,7 +53,7 @@ export class ServiceHealthClient { private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; + private _defaults: { [method: string]: gax.CallSettings }; private _universeDomain: string; private _servicePath: string; private _log = logging.log('servicehealth'); @@ -57,10 +66,10 @@ export class ServiceHealthClient { batching: {}, }; warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; + innerApiCalls: { [name: string]: Function }; locationsClient: LocationsClient; - pathTemplates: {[name: string]: gax.PathTemplate}; - serviceHealthStub?: Promise<{[name: string]: Function}>; + pathTemplates: { [name: string]: gax.PathTemplate }; + serviceHealthStub?: Promise<{ [name: string]: Function }>; /** * Construct an instance of ServiceHealthClient. @@ -101,21 +110,42 @@ export class ServiceHealthClient { * const client = new ServiceHealthClient({fallback: true}, gax); * ``` */ - constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback, + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ServiceHealthClient; - if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) { - throw new Error('Please set either universe_domain or universeDomain, but not both.'); + if ( + opts?.universe_domain && + opts?.universeDomain && + opts?.universe_domain !== opts?.universeDomain + ) { + throw new Error( + 'Please set either universe_domain or universeDomain, but not both.', + ); } - const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined; - this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com'; + const universeDomainEnvVar = + typeof process === 'object' && typeof process.env === 'object' + ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] + : undefined; + this._universeDomain = + opts?.universeDomain ?? + opts?.universe_domain ?? + universeDomainEnvVar ?? + 'googleapis.com'; this._servicePath = 'servicehealth.' + this._universeDomain; - const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const servicePath = + opts?.servicePath || opts?.apiEndpoint || this._servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); - opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts); // Request numeric enum values if REST transport is used. opts.numericEnums = true; @@ -140,7 +170,7 @@ export class ServiceHealthClient { this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Set useJWTAccessWithScope on the auth object. this.auth.useJWTAccessWithScope = true; @@ -154,15 +184,11 @@ export class ServiceHealthClient { } this.locationsClient = new this._gaxModule.LocationsClient( this._gaxGrpc, - opts + opts, ); - // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process === 'object' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { @@ -184,13 +210,13 @@ export class ServiceHealthClient { // Create useful helper objects for these. this.pathTemplates = { eventPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/events/{event}' + 'projects/{project}/locations/{location}/events/{event}', ), organizationEventPathTemplate: new this._gaxModule.PathTemplate( - 'organizations/{organization}/locations/{location}/organizationEvents/{event}' + 'organizations/{organization}/locations/{location}/organizationEvents/{event}', ), organizationImpactPathTemplate: new this._gaxModule.PathTemplate( - 'organizations/{organization}/locations/{location}/organizationImpacts/{organization_impact}' + 'organizations/{organization}/locations/{location}/organizationImpacts/{organization_impact}', ), }; @@ -198,18 +224,30 @@ export class ServiceHealthClient { // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. this.descriptors.page = { - listEvents: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'events'), - listOrganizationEvents: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'organizationEvents'), - listOrganizationImpacts: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'organizationImpacts') + listEvents: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'events', + ), + listOrganizationEvents: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'organizationEvents', + ), + listOrganizationImpacts: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'organizationImpacts', + ), }; // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.servicehealth.v1.ServiceHealth', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + 'google.cloud.servicehealth.v1.ServiceHealth', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + { 'x-goog-api-client': clientHeader.join(' ') }, + ); // Set up a dictionary of "inner API calls"; the core implementation // of calling the API is handled in `google-gax`, with this code @@ -240,37 +278,47 @@ export class ServiceHealthClient { // Put together the "service stub" for // google.cloud.servicehealth.v1.ServiceHealth. this.serviceHealthStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.servicehealth.v1.ServiceHealth') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.servicehealth.v1.ServiceHealth', + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.servicehealth.v1.ServiceHealth, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + this._opts, + this._providedCustomServicePath, + ) as Promise<{ [method: string]: Function }>; // Iterate over each of the methods that the service provides // and create an API call method for each. - const serviceHealthStubMethods = - ['listEvents', 'getEvent', 'listOrganizationEvents', 'getOrganizationEvent', 'listOrganizationImpacts', 'getOrganizationImpact']; + const serviceHealthStubMethods = [ + 'listEvents', + 'getEvent', + 'listOrganizationEvents', + 'getOrganizationEvent', + 'listOrganizationImpacts', + 'getOrganizationImpact', + ]; for (const methodName of serviceHealthStubMethods) { const callPromise = this.serviceHealthStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, - (err: Error|null|undefined) => () => { + (stub) => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error | null | undefined) => () => { throw err; - }); + }, + ); - const descriptor = - this.descriptors.page[methodName] || - undefined; + const descriptor = this.descriptors.page[methodName] || undefined; const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], descriptor, - this._opts.fallback + this._opts.fallback, ); this.innerApiCalls[methodName] = apiCall; @@ -285,8 +333,14 @@ export class ServiceHealthClient { * @returns {string} The DNS address for this service. */ static get servicePath() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static servicePath is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'servicehealth.googleapis.com'; } @@ -297,8 +351,14 @@ export class ServiceHealthClient { * @returns {string} The DNS address for this service. */ static get apiEndpoint() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static apiEndpoint is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'servicehealth.googleapis.com'; } @@ -329,9 +389,7 @@ export class ServiceHealthClient { * @returns {string[]} List of default scopes. */ static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; + return ['https://www.googleapis.com/auth/cloud-platform']; } getProjectId(): Promise; @@ -340,8 +398,9 @@ export class ServiceHealthClient { * Return the project ID used by this class. * @returns {Promise} A promise that resolves to string containing the project ID. */ - getProjectId(callback?: Callback): - Promise|void { + getProjectId( + callback?: Callback, + ): Promise | void { if (callback) { this.auth.getProjectId(callback); return; @@ -352,427 +411,584 @@ export class ServiceHealthClient { // ------------------- // -- Service calls -- // ------------------- -/** - * Retrieves a resource containing information about an event. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Unique name of the event in this scope including project - * and location using the form - * `projects/{project_id}/locations/{location}/events/{event_id}`. - * - * `project_id` - Project ID of the project that contains the event.
- * `location` - The location to get the service health events from.
- * `event_id` - Event ID to retrieve. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicehealth.v1.Event|Event}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/service_health.get_event.js - * region_tag:servicehealth_v1_generated_ServiceHealth_GetEvent_async - */ + /** + * Retrieves a resource containing information about an event. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Unique name of the event in this scope including project + * and location using the form + * `projects/{project_id}/locations/{location}/events/{event_id}`. + * + * `project_id` - Project ID of the project that contains the event.
+ * `location` - The location to get the service health events from.
+ * `event_id` - Event ID to retrieve. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicehealth.v1.Event|Event}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/service_health.get_event.js + * region_tag:servicehealth_v1_generated_ServiceHealth_GetEvent_async + */ getEvent( - request?: protos.google.cloud.servicehealth.v1.IGetEventRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicehealth.v1.IEvent, - protos.google.cloud.servicehealth.v1.IGetEventRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicehealth.v1.IGetEventRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicehealth.v1.IEvent, + protos.google.cloud.servicehealth.v1.IGetEventRequest | undefined, + {} | undefined, + ] + >; getEvent( - request: protos.google.cloud.servicehealth.v1.IGetEventRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicehealth.v1.IEvent, - protos.google.cloud.servicehealth.v1.IGetEventRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicehealth.v1.IGetEventRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicehealth.v1.IEvent, + protos.google.cloud.servicehealth.v1.IGetEventRequest | null | undefined, + {} | null | undefined + >, + ): void; getEvent( - request: protos.google.cloud.servicehealth.v1.IGetEventRequest, - callback: Callback< - protos.google.cloud.servicehealth.v1.IEvent, - protos.google.cloud.servicehealth.v1.IGetEventRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicehealth.v1.IGetEventRequest, + callback: Callback< + protos.google.cloud.servicehealth.v1.IEvent, + protos.google.cloud.servicehealth.v1.IGetEventRequest | null | undefined, + {} | null | undefined + >, + ): void; getEvent( - request?: protos.google.cloud.servicehealth.v1.IGetEventRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicehealth.v1.IEvent, - protos.google.cloud.servicehealth.v1.IGetEventRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicehealth.v1.IGetEventRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicehealth.v1.IEvent, - protos.google.cloud.servicehealth.v1.IGetEventRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicehealth.v1.IEvent, - protos.google.cloud.servicehealth.v1.IGetEventRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicehealth.v1.IGetEventRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicehealth.v1.IEvent, + protos.google.cloud.servicehealth.v1.IGetEventRequest | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicehealth.v1.IEvent, + protos.google.cloud.servicehealth.v1.IGetEventRequest | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getEvent request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicehealth.v1.IEvent, - protos.google.cloud.servicehealth.v1.IGetEventRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicehealth.v1.IEvent, + | protos.google.cloud.servicehealth.v1.IGetEventRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getEvent response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getEvent(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicehealth.v1.IEvent, - protos.google.cloud.servicehealth.v1.IGetEventRequest|undefined, - {}|undefined - ]) => { - this._log.info('getEvent response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getEvent(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicehealth.v1.IEvent, + protos.google.cloud.servicehealth.v1.IGetEventRequest | undefined, + {} | undefined, + ]) => { + this._log.info('getEvent response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Retrieves a resource containing information about an event affecting an - * organization . - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Unique name of the event in this scope including organization and - * event ID using the form - * `organizations/{organization_id}/locations/locations/global/organizationEvents/{event_id}`. - * - * `organization_id` - ID (number) of the project that contains the event. To - * get your `organization_id`, see - * [Getting your organization resource - * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
- * `event_id` - Organization event ID to retrieve. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicehealth.v1.OrganizationEvent|OrganizationEvent}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/service_health.get_organization_event.js - * region_tag:servicehealth_v1_generated_ServiceHealth_GetOrganizationEvent_async - */ + /** + * Retrieves a resource containing information about an event affecting an + * organization . + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Unique name of the event in this scope including organization and + * event ID using the form + * `organizations/{organization_id}/locations/locations/global/organizationEvents/{event_id}`. + * + * `organization_id` - ID (number) of the project that contains the event. To + * get your `organization_id`, see + * [Getting your organization resource + * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+ * `event_id` - Organization event ID to retrieve. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicehealth.v1.OrganizationEvent|OrganizationEvent}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/service_health.get_organization_event.js + * region_tag:servicehealth_v1_generated_ServiceHealth_GetOrganizationEvent_async + */ getOrganizationEvent( - request?: protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicehealth.v1.IOrganizationEvent, - protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicehealth.v1.IOrganizationEvent, + ( + | protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest + | undefined + ), + {} | undefined, + ] + >; getOrganizationEvent( - request: protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicehealth.v1.IOrganizationEvent, - protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicehealth.v1.IOrganizationEvent, + | protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getOrganizationEvent( - request: protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest, - callback: Callback< - protos.google.cloud.servicehealth.v1.IOrganizationEvent, - protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest, + callback: Callback< + protos.google.cloud.servicehealth.v1.IOrganizationEvent, + | protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getOrganizationEvent( - request?: protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicehealth.v1.IOrganizationEvent, - protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicehealth.v1.IOrganizationEvent, - protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicehealth.v1.IOrganizationEvent, - protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicehealth.v1.IOrganizationEvent, + | protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicehealth.v1.IOrganizationEvent, + ( + | protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getOrganizationEvent request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicehealth.v1.IOrganizationEvent, - protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicehealth.v1.IOrganizationEvent, + | protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getOrganizationEvent response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getOrganizationEvent(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicehealth.v1.IOrganizationEvent, - protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest|undefined, - {}|undefined - ]) => { - this._log.info('getOrganizationEvent response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getOrganizationEvent(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicehealth.v1.IOrganizationEvent, + ( + | protos.google.cloud.servicehealth.v1.IGetOrganizationEventRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getOrganizationEvent response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Retrieves a resource containing information about impact to an asset under - * an organization affected by a service health event. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Name of the resource using the form - * `organizations/{organization_id}/locations/global/organizationImpacts/{organization_impact_id}`. - * - * `organization_id` - ID (number) of the organization that contains the - * event. To get your `organization_id`, see - * [Getting your organization resource - * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
- * `organization_impact_id` - ID of the [OrganizationImpact - * resource](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact). - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.servicehealth.v1.OrganizationImpact|OrganizationImpact}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/service_health.get_organization_impact.js - * region_tag:servicehealth_v1_generated_ServiceHealth_GetOrganizationImpact_async - */ + /** + * Retrieves a resource containing information about impact to an asset under + * an organization affected by a service health event. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Name of the resource using the form + * `organizations/{organization_id}/locations/global/organizationImpacts/{organization_impact_id}`. + * + * `organization_id` - ID (number) of the organization that contains the + * event. To get your `organization_id`, see + * [Getting your organization resource + * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+ * `organization_impact_id` - ID of the [OrganizationImpact + * resource](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact). + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.servicehealth.v1.OrganizationImpact|OrganizationImpact}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/service_health.get_organization_impact.js + * region_tag:servicehealth_v1_generated_ServiceHealth_GetOrganizationImpact_async + */ getOrganizationImpact( - request?: protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicehealth.v1.IOrganizationImpact, - protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicehealth.v1.IOrganizationImpact, + ( + | protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest + | undefined + ), + {} | undefined, + ] + >; getOrganizationImpact( - request: protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.servicehealth.v1.IOrganizationImpact, - protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.servicehealth.v1.IOrganizationImpact, + | protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getOrganizationImpact( - request: protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest, - callback: Callback< - protos.google.cloud.servicehealth.v1.IOrganizationImpact, - protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest, + callback: Callback< + protos.google.cloud.servicehealth.v1.IOrganizationImpact, + | protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getOrganizationImpact( - request?: protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.servicehealth.v1.IOrganizationImpact, - protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.servicehealth.v1.IOrganizationImpact, - protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.servicehealth.v1.IOrganizationImpact, - protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.servicehealth.v1.IOrganizationImpact, + | protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.servicehealth.v1.IOrganizationImpact, + ( + | protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getOrganizationImpact request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.servicehealth.v1.IOrganizationImpact, - protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.servicehealth.v1.IOrganizationImpact, + | protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getOrganizationImpact response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getOrganizationImpact(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.servicehealth.v1.IOrganizationImpact, - protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest|undefined, - {}|undefined - ]) => { - this._log.info('getOrganizationImpact response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getOrganizationImpact(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.servicehealth.v1.IOrganizationImpact, + ( + | protos.google.cloud.servicehealth.v1.IGetOrganizationImpactRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getOrganizationImpact response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } - /** - * Lists events under a given project and location. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent value using the form - * `projects/{project_id}/locations/{location}/events`. - * - * `project_id` - ID of the project for which to list service health - * events. - * `location` - The location to get the service health events from. - * To retrieve service health events of category = INCIDENT, use `location` = - * `global`. - * @param {number} [request.pageSize] - * Optional. The maximum number of events that should be returned. Acceptable - * values are 1 to 100, inclusive. (The default value is 10.) If more results - * are available, the service returns a next_page_token that you can use to - * get the next page of results in subsequent list requests. The service may - * return fewer events than the requested page_size. - * @param {string} [request.pageToken] - * Optional. A token identifying a page of results the server should return. - * Provide Page token returned by a previous `ListEvents` call to retrieve the - * next page of results. When paginating, all other parameters provided to - * `ListEvents` must match the call that provided the page token. - * @param {string} [request.filter] - * Optional. A filter expression that filters resources listed in the - * response. The expression takes the following forms:
- * * field=value for `category` and `state`
- * * field <, >, <=, or >= value for `update_time`
- * Examples: `category=INCIDENT`, `update_time>="2000-01-01T11:30:00-04:00"`, - * `event_impacts.product.product_name:"Eventarc"` - *
- * - * Multiple filter queries are separated by spaces. Example: - * `category=INCIDENT state=ACTIVE`. - * - * By default, each expression is an AND expression. However, you can include - * AND and OR expressions explicitly. - * - * Filter is supported for the following fields: `category`, `state`, - * `update_time`, `event_impacts.product.product_name` - * @param {google.cloud.servicehealth.v1.EventView} [request.view] - * Optional. Event fields to include in response. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of {@link protos.google.cloud.servicehealth.v1.Event|Event}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listEventsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Lists events under a given project and location. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent value using the form + * `projects/{project_id}/locations/{location}/events`. + * + * `project_id` - ID of the project for which to list service health + * events. + * `location` - The location to get the service health events from. + * To retrieve service health events of category = INCIDENT, use `location` = + * `global`. + * @param {number} [request.pageSize] + * Optional. The maximum number of events that should be returned. Acceptable + * values are 1 to 100, inclusive. (The default value is 10.) If more results + * are available, the service returns a next_page_token that you can use to + * get the next page of results in subsequent list requests. The service may + * return fewer events than the requested page_size. + * @param {string} [request.pageToken] + * Optional. A token identifying a page of results the server should return. + * Provide Page token returned by a previous `ListEvents` call to retrieve the + * next page of results. When paginating, all other parameters provided to + * `ListEvents` must match the call that provided the page token. + * @param {string} [request.filter] + * Optional. A filter expression that filters resources listed in the + * response. The expression takes the following forms:
+ * * field=value for `category` and `state`
+ * * field <, >, <=, or >= value for `update_time`
+ * Examples: `category=INCIDENT`, `update_time>="2000-01-01T11:30:00-04:00"`, + * `event_impacts.product.product_name:"Eventarc"` + *
+ * + * Multiple filter queries are separated by spaces. Example: + * `category=INCIDENT state=ACTIVE`. + * + * By default, each expression is an AND expression. However, you can include + * AND and OR expressions explicitly. + * + * Filter is supported for the following fields: `category`, `state`, + * `update_time`, `event_impacts.product.product_name` + * @param {google.cloud.servicehealth.v1.EventView} [request.view] + * Optional. Event fields to include in response. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of {@link protos.google.cloud.servicehealth.v1.Event|Event}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listEventsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listEvents( - request?: protos.google.cloud.servicehealth.v1.IListEventsRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicehealth.v1.IEvent[], - protos.google.cloud.servicehealth.v1.IListEventsRequest|null, - protos.google.cloud.servicehealth.v1.IListEventsResponse - ]>; + request?: protos.google.cloud.servicehealth.v1.IListEventsRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicehealth.v1.IEvent[], + protos.google.cloud.servicehealth.v1.IListEventsRequest | null, + protos.google.cloud.servicehealth.v1.IListEventsResponse, + ] + >; listEvents( - request: protos.google.cloud.servicehealth.v1.IListEventsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.servicehealth.v1.IListEventsRequest, - protos.google.cloud.servicehealth.v1.IListEventsResponse|null|undefined, - protos.google.cloud.servicehealth.v1.IEvent>): void; + request: protos.google.cloud.servicehealth.v1.IListEventsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.servicehealth.v1.IListEventsRequest, + | protos.google.cloud.servicehealth.v1.IListEventsResponse + | null + | undefined, + protos.google.cloud.servicehealth.v1.IEvent + >, + ): void; listEvents( - request: protos.google.cloud.servicehealth.v1.IListEventsRequest, - callback: PaginationCallback< - protos.google.cloud.servicehealth.v1.IListEventsRequest, - protos.google.cloud.servicehealth.v1.IListEventsResponse|null|undefined, - protos.google.cloud.servicehealth.v1.IEvent>): void; + request: protos.google.cloud.servicehealth.v1.IListEventsRequest, + callback: PaginationCallback< + protos.google.cloud.servicehealth.v1.IListEventsRequest, + | protos.google.cloud.servicehealth.v1.IListEventsResponse + | null + | undefined, + protos.google.cloud.servicehealth.v1.IEvent + >, + ): void; listEvents( - request?: protos.google.cloud.servicehealth.v1.IListEventsRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.cloud.servicehealth.v1.IListEventsRequest, - protos.google.cloud.servicehealth.v1.IListEventsResponse|null|undefined, - protos.google.cloud.servicehealth.v1.IEvent>, - callback?: PaginationCallback< + request?: protos.google.cloud.servicehealth.v1.IListEventsRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.servicehealth.v1.IListEventsRequest, - protos.google.cloud.servicehealth.v1.IListEventsResponse|null|undefined, - protos.google.cloud.servicehealth.v1.IEvent>): - Promise<[ - protos.google.cloud.servicehealth.v1.IEvent[], - protos.google.cloud.servicehealth.v1.IListEventsRequest|null, - protos.google.cloud.servicehealth.v1.IListEventsResponse - ]>|void { + | protos.google.cloud.servicehealth.v1.IListEventsResponse + | null + | undefined, + protos.google.cloud.servicehealth.v1.IEvent + >, + callback?: PaginationCallback< + protos.google.cloud.servicehealth.v1.IListEventsRequest, + | protos.google.cloud.servicehealth.v1.IListEventsResponse + | null + | undefined, + protos.google.cloud.servicehealth.v1.IEvent + >, + ): Promise< + [ + protos.google.cloud.servicehealth.v1.IEvent[], + protos.google.cloud.servicehealth.v1.IListEventsRequest | null, + protos.google.cloud.servicehealth.v1.IListEventsResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.servicehealth.v1.IListEventsRequest, - protos.google.cloud.servicehealth.v1.IListEventsResponse|null|undefined, - protos.google.cloud.servicehealth.v1.IEvent>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.servicehealth.v1.IListEventsRequest, + | protos.google.cloud.servicehealth.v1.IListEventsResponse + | null + | undefined, + protos.google.cloud.servicehealth.v1.IEvent + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listEvents values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -781,293 +997,322 @@ export class ServiceHealthClient { this._log.info('listEvents request %j', request); return this.innerApiCalls .listEvents(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.servicehealth.v1.IEvent[], - protos.google.cloud.servicehealth.v1.IListEventsRequest|null, - protos.google.cloud.servicehealth.v1.IListEventsResponse - ]) => { - this._log.info('listEvents values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.servicehealth.v1.IEvent[], + protos.google.cloud.servicehealth.v1.IListEventsRequest | null, + protos.google.cloud.servicehealth.v1.IListEventsResponse, + ]) => { + this._log.info('listEvents values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listEvents`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent value using the form - * `projects/{project_id}/locations/{location}/events`. - * - * `project_id` - ID of the project for which to list service health - * events. - * `location` - The location to get the service health events from. - * To retrieve service health events of category = INCIDENT, use `location` = - * `global`. - * @param {number} [request.pageSize] - * Optional. The maximum number of events that should be returned. Acceptable - * values are 1 to 100, inclusive. (The default value is 10.) If more results - * are available, the service returns a next_page_token that you can use to - * get the next page of results in subsequent list requests. The service may - * return fewer events than the requested page_size. - * @param {string} [request.pageToken] - * Optional. A token identifying a page of results the server should return. - * Provide Page token returned by a previous `ListEvents` call to retrieve the - * next page of results. When paginating, all other parameters provided to - * `ListEvents` must match the call that provided the page token. - * @param {string} [request.filter] - * Optional. A filter expression that filters resources listed in the - * response. The expression takes the following forms:
- * * field=value for `category` and `state`
- * * field <, >, <=, or >= value for `update_time`
- * Examples: `category=INCIDENT`, `update_time>="2000-01-01T11:30:00-04:00"`, - * `event_impacts.product.product_name:"Eventarc"` - *
- * - * Multiple filter queries are separated by spaces. Example: - * `category=INCIDENT state=ACTIVE`. - * - * By default, each expression is an AND expression. However, you can include - * AND and OR expressions explicitly. - * - * Filter is supported for the following fields: `category`, `state`, - * `update_time`, `event_impacts.product.product_name` - * @param {google.cloud.servicehealth.v1.EventView} [request.view] - * Optional. Event fields to include in response. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Stream} - * An object stream which emits an object representing {@link protos.google.cloud.servicehealth.v1.Event|Event} on 'data' event. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed. Note that it can affect your quota. - * We recommend using `listEventsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listEvents`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent value using the form + * `projects/{project_id}/locations/{location}/events`. + * + * `project_id` - ID of the project for which to list service health + * events. + * `location` - The location to get the service health events from. + * To retrieve service health events of category = INCIDENT, use `location` = + * `global`. + * @param {number} [request.pageSize] + * Optional. The maximum number of events that should be returned. Acceptable + * values are 1 to 100, inclusive. (The default value is 10.) If more results + * are available, the service returns a next_page_token that you can use to + * get the next page of results in subsequent list requests. The service may + * return fewer events than the requested page_size. + * @param {string} [request.pageToken] + * Optional. A token identifying a page of results the server should return. + * Provide Page token returned by a previous `ListEvents` call to retrieve the + * next page of results. When paginating, all other parameters provided to + * `ListEvents` must match the call that provided the page token. + * @param {string} [request.filter] + * Optional. A filter expression that filters resources listed in the + * response. The expression takes the following forms:
+ * * field=value for `category` and `state`
+ * * field <, >, <=, or >= value for `update_time`
+ * Examples: `category=INCIDENT`, `update_time>="2000-01-01T11:30:00-04:00"`, + * `event_impacts.product.product_name:"Eventarc"` + *
+ * + * Multiple filter queries are separated by spaces. Example: + * `category=INCIDENT state=ACTIVE`. + * + * By default, each expression is an AND expression. However, you can include + * AND and OR expressions explicitly. + * + * Filter is supported for the following fields: `category`, `state`, + * `update_time`, `event_impacts.product.product_name` + * @param {google.cloud.servicehealth.v1.EventView} [request.view] + * Optional. Event fields to include in response. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing {@link protos.google.cloud.servicehealth.v1.Event|Event} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listEventsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listEventsStream( - request?: protos.google.cloud.servicehealth.v1.IListEventsRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.servicehealth.v1.IListEventsRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listEvents']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listEvents stream %j', request); return this.descriptors.page.listEvents.createStream( this.innerApiCalls.listEvents as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listEvents`, but returns an iterable object. - * - * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent value using the form - * `projects/{project_id}/locations/{location}/events`. - * - * `project_id` - ID of the project for which to list service health - * events. - * `location` - The location to get the service health events from. - * To retrieve service health events of category = INCIDENT, use `location` = - * `global`. - * @param {number} [request.pageSize] - * Optional. The maximum number of events that should be returned. Acceptable - * values are 1 to 100, inclusive. (The default value is 10.) If more results - * are available, the service returns a next_page_token that you can use to - * get the next page of results in subsequent list requests. The service may - * return fewer events than the requested page_size. - * @param {string} [request.pageToken] - * Optional. A token identifying a page of results the server should return. - * Provide Page token returned by a previous `ListEvents` call to retrieve the - * next page of results. When paginating, all other parameters provided to - * `ListEvents` must match the call that provided the page token. - * @param {string} [request.filter] - * Optional. A filter expression that filters resources listed in the - * response. The expression takes the following forms:
- * * field=value for `category` and `state`
- * * field <, >, <=, or >= value for `update_time`
- * Examples: `category=INCIDENT`, `update_time>="2000-01-01T11:30:00-04:00"`, - * `event_impacts.product.product_name:"Eventarc"` - *
- * - * Multiple filter queries are separated by spaces. Example: - * `category=INCIDENT state=ACTIVE`. - * - * By default, each expression is an AND expression. However, you can include - * AND and OR expressions explicitly. - * - * Filter is supported for the following fields: `category`, `state`, - * `update_time`, `event_impacts.product.product_name` - * @param {google.cloud.servicehealth.v1.EventView} [request.view] - * Optional. Event fields to include in response. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Object} - * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.servicehealth.v1.Event|Event}. The API will be called under the hood as needed, once per the page, - * so you can stop the iteration when you don't need more results. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1/service_health.list_events.js - * region_tag:servicehealth_v1_generated_ServiceHealth_ListEvents_async - */ + /** + * Equivalent to `listEvents`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent value using the form + * `projects/{project_id}/locations/{location}/events`. + * + * `project_id` - ID of the project for which to list service health + * events. + * `location` - The location to get the service health events from. + * To retrieve service health events of category = INCIDENT, use `location` = + * `global`. + * @param {number} [request.pageSize] + * Optional. The maximum number of events that should be returned. Acceptable + * values are 1 to 100, inclusive. (The default value is 10.) If more results + * are available, the service returns a next_page_token that you can use to + * get the next page of results in subsequent list requests. The service may + * return fewer events than the requested page_size. + * @param {string} [request.pageToken] + * Optional. A token identifying a page of results the server should return. + * Provide Page token returned by a previous `ListEvents` call to retrieve the + * next page of results. When paginating, all other parameters provided to + * `ListEvents` must match the call that provided the page token. + * @param {string} [request.filter] + * Optional. A filter expression that filters resources listed in the + * response. The expression takes the following forms:
+ * * field=value for `category` and `state`
+ * * field <, >, <=, or >= value for `update_time`
+ * Examples: `category=INCIDENT`, `update_time>="2000-01-01T11:30:00-04:00"`, + * `event_impacts.product.product_name:"Eventarc"` + *
+ * + * Multiple filter queries are separated by spaces. Example: + * `category=INCIDENT state=ACTIVE`. + * + * By default, each expression is an AND expression. However, you can include + * AND and OR expressions explicitly. + * + * Filter is supported for the following fields: `category`, `state`, + * `update_time`, `event_impacts.product.product_name` + * @param {google.cloud.servicehealth.v1.EventView} [request.view] + * Optional. Event fields to include in response. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.servicehealth.v1.Event|Event}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1/service_health.list_events.js + * region_tag:servicehealth_v1_generated_ServiceHealth_ListEvents_async + */ listEventsAsync( - request?: protos.google.cloud.servicehealth.v1.IListEventsRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.servicehealth.v1.IListEventsRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listEvents']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listEvents iterate %j', request); return this.descriptors.page.listEvents.asyncIterate( this.innerApiCalls['listEvents'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } - /** - * Lists organization events under a given organization and location. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent value using the form - * `organizations/{organization_id}/locations/{location}/organizationEvents`. - * - * `organization_id` - ID (number) of the project that contains the event. To - * get your `organization_id`, see - * [Getting your organization resource - * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
- * `location` - The location to get the service health events from. To - * retrieve service health events of category = INCIDENT, use `location` = - * `global`. - * @param {number} [request.pageSize] - * Optional. The maximum number of events that should be returned. Acceptable - * values are `1` to `100`, inclusive. (The default value is `10`.) If more - * results are available, the service returns a `next_page_token` that you can - * use to get the next page of results in subsequent list requests. The - * service may return fewer events than the requested `page_size`. - * @param {string} [request.pageToken] - * Optional. A token identifying a page of results the server should return. - * - * Provide Page token returned by a previous `ListOrganizationEvents` call to - * retrieve the next page of results. - * - * When paginating, all other parameters provided to - * `ListOrganizationEvents` must match the call that provided the page token. - * @param {string} [request.filter] - * Optional. A filter expression that filters resources listed in the - * response. The expression takes the following forms: - * - * * field=value for `category` and `state` - * * field <, >, <=, or >= value for `update_time` - * - * Examples: `category=INCIDENT`, `update_time>="2000-01-01T11:30:00-04:00"` - * - * Multiple filter queries are space-separated. Example: - * `category=INCIDENT state=ACTIVE`. - * - * By default, each expression is an AND expression. However, you can include - * AND and OR expressions explicitly. - * - * Filter is supported for the following fields: `category`, `state`, - * `update_time` - * @param {google.cloud.servicehealth.v1.OrganizationEventView} [request.view] - * Optional. OrganizationEvent fields to include in response. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of {@link protos.google.cloud.servicehealth.v1.OrganizationEvent|OrganizationEvent}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listOrganizationEventsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Lists organization events under a given organization and location. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent value using the form + * `organizations/{organization_id}/locations/{location}/organizationEvents`. + * + * `organization_id` - ID (number) of the project that contains the event. To + * get your `organization_id`, see + * [Getting your organization resource + * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+ * `location` - The location to get the service health events from. To + * retrieve service health events of category = INCIDENT, use `location` = + * `global`. + * @param {number} [request.pageSize] + * Optional. The maximum number of events that should be returned. Acceptable + * values are `1` to `100`, inclusive. (The default value is `10`.) If more + * results are available, the service returns a `next_page_token` that you can + * use to get the next page of results in subsequent list requests. The + * service may return fewer events than the requested `page_size`. + * @param {string} [request.pageToken] + * Optional. A token identifying a page of results the server should return. + * + * Provide Page token returned by a previous `ListOrganizationEvents` call to + * retrieve the next page of results. + * + * When paginating, all other parameters provided to + * `ListOrganizationEvents` must match the call that provided the page token. + * @param {string} [request.filter] + * Optional. A filter expression that filters resources listed in the + * response. The expression takes the following forms: + * + * * field=value for `category` and `state` + * * field <, >, <=, or >= value for `update_time` + * + * Examples: `category=INCIDENT`, `update_time>="2000-01-01T11:30:00-04:00"` + * + * Multiple filter queries are space-separated. Example: + * `category=INCIDENT state=ACTIVE`. + * + * By default, each expression is an AND expression. However, you can include + * AND and OR expressions explicitly. + * + * Filter is supported for the following fields: `category`, `state`, + * `update_time` + * @param {google.cloud.servicehealth.v1.OrganizationEventView} [request.view] + * Optional. OrganizationEvent fields to include in response. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of {@link protos.google.cloud.servicehealth.v1.OrganizationEvent|OrganizationEvent}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listOrganizationEventsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listOrganizationEvents( - request?: protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicehealth.v1.IOrganizationEvent[], - protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest|null, - protos.google.cloud.servicehealth.v1.IListOrganizationEventsResponse - ]>; + request?: protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicehealth.v1.IOrganizationEvent[], + protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest | null, + protos.google.cloud.servicehealth.v1.IListOrganizationEventsResponse, + ] + >; listOrganizationEvents( - request: protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, - protos.google.cloud.servicehealth.v1.IListOrganizationEventsResponse|null|undefined, - protos.google.cloud.servicehealth.v1.IOrganizationEvent>): void; + request: protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, + | protos.google.cloud.servicehealth.v1.IListOrganizationEventsResponse + | null + | undefined, + protos.google.cloud.servicehealth.v1.IOrganizationEvent + >, + ): void; listOrganizationEvents( - request: protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, - callback: PaginationCallback< - protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, - protos.google.cloud.servicehealth.v1.IListOrganizationEventsResponse|null|undefined, - protos.google.cloud.servicehealth.v1.IOrganizationEvent>): void; + request: protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, + callback: PaginationCallback< + protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, + | protos.google.cloud.servicehealth.v1.IListOrganizationEventsResponse + | null + | undefined, + protos.google.cloud.servicehealth.v1.IOrganizationEvent + >, + ): void; listOrganizationEvents( - request?: protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, - optionsOrCallback?: CallOptions|PaginationCallback< + request?: protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, - protos.google.cloud.servicehealth.v1.IListOrganizationEventsResponse|null|undefined, - protos.google.cloud.servicehealth.v1.IOrganizationEvent>, - callback?: PaginationCallback< - protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, - protos.google.cloud.servicehealth.v1.IListOrganizationEventsResponse|null|undefined, - protos.google.cloud.servicehealth.v1.IOrganizationEvent>): - Promise<[ - protos.google.cloud.servicehealth.v1.IOrganizationEvent[], - protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest|null, - protos.google.cloud.servicehealth.v1.IListOrganizationEventsResponse - ]>|void { + | protos.google.cloud.servicehealth.v1.IListOrganizationEventsResponse + | null + | undefined, + protos.google.cloud.servicehealth.v1.IOrganizationEvent + >, + callback?: PaginationCallback< + protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, + | protos.google.cloud.servicehealth.v1.IListOrganizationEventsResponse + | null + | undefined, + protos.google.cloud.servicehealth.v1.IOrganizationEvent + >, + ): Promise< + [ + protos.google.cloud.servicehealth.v1.IOrganizationEvent[], + protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest | null, + protos.google.cloud.servicehealth.v1.IListOrganizationEventsResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, - protos.google.cloud.servicehealth.v1.IListOrganizationEventsResponse|null|undefined, - protos.google.cloud.servicehealth.v1.IOrganizationEvent>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, + | protos.google.cloud.servicehealth.v1.IListOrganizationEventsResponse + | null + | undefined, + protos.google.cloud.servicehealth.v1.IOrganizationEvent + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listOrganizationEvents values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -1076,302 +1321,331 @@ export class ServiceHealthClient { this._log.info('listOrganizationEvents request %j', request); return this.innerApiCalls .listOrganizationEvents(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.servicehealth.v1.IOrganizationEvent[], - protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest|null, - protos.google.cloud.servicehealth.v1.IListOrganizationEventsResponse - ]) => { - this._log.info('listOrganizationEvents values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.servicehealth.v1.IOrganizationEvent[], + protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest | null, + protos.google.cloud.servicehealth.v1.IListOrganizationEventsResponse, + ]) => { + this._log.info('listOrganizationEvents values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listOrganizationEvents`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent value using the form - * `organizations/{organization_id}/locations/{location}/organizationEvents`. - * - * `organization_id` - ID (number) of the project that contains the event. To - * get your `organization_id`, see - * [Getting your organization resource - * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
- * `location` - The location to get the service health events from. To - * retrieve service health events of category = INCIDENT, use `location` = - * `global`. - * @param {number} [request.pageSize] - * Optional. The maximum number of events that should be returned. Acceptable - * values are `1` to `100`, inclusive. (The default value is `10`.) If more - * results are available, the service returns a `next_page_token` that you can - * use to get the next page of results in subsequent list requests. The - * service may return fewer events than the requested `page_size`. - * @param {string} [request.pageToken] - * Optional. A token identifying a page of results the server should return. - * - * Provide Page token returned by a previous `ListOrganizationEvents` call to - * retrieve the next page of results. - * - * When paginating, all other parameters provided to - * `ListOrganizationEvents` must match the call that provided the page token. - * @param {string} [request.filter] - * Optional. A filter expression that filters resources listed in the - * response. The expression takes the following forms: - * - * * field=value for `category` and `state` - * * field <, >, <=, or >= value for `update_time` - * - * Examples: `category=INCIDENT`, `update_time>="2000-01-01T11:30:00-04:00"` - * - * Multiple filter queries are space-separated. Example: - * `category=INCIDENT state=ACTIVE`. - * - * By default, each expression is an AND expression. However, you can include - * AND and OR expressions explicitly. - * - * Filter is supported for the following fields: `category`, `state`, - * `update_time` - * @param {google.cloud.servicehealth.v1.OrganizationEventView} [request.view] - * Optional. OrganizationEvent fields to include in response. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Stream} - * An object stream which emits an object representing {@link protos.google.cloud.servicehealth.v1.OrganizationEvent|OrganizationEvent} on 'data' event. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed. Note that it can affect your quota. - * We recommend using `listOrganizationEventsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listOrganizationEvents`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent value using the form + * `organizations/{organization_id}/locations/{location}/organizationEvents`. + * + * `organization_id` - ID (number) of the project that contains the event. To + * get your `organization_id`, see + * [Getting your organization resource + * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+ * `location` - The location to get the service health events from. To + * retrieve service health events of category = INCIDENT, use `location` = + * `global`. + * @param {number} [request.pageSize] + * Optional. The maximum number of events that should be returned. Acceptable + * values are `1` to `100`, inclusive. (The default value is `10`.) If more + * results are available, the service returns a `next_page_token` that you can + * use to get the next page of results in subsequent list requests. The + * service may return fewer events than the requested `page_size`. + * @param {string} [request.pageToken] + * Optional. A token identifying a page of results the server should return. + * + * Provide Page token returned by a previous `ListOrganizationEvents` call to + * retrieve the next page of results. + * + * When paginating, all other parameters provided to + * `ListOrganizationEvents` must match the call that provided the page token. + * @param {string} [request.filter] + * Optional. A filter expression that filters resources listed in the + * response. The expression takes the following forms: + * + * * field=value for `category` and `state` + * * field <, >, <=, or >= value for `update_time` + * + * Examples: `category=INCIDENT`, `update_time>="2000-01-01T11:30:00-04:00"` + * + * Multiple filter queries are space-separated. Example: + * `category=INCIDENT state=ACTIVE`. + * + * By default, each expression is an AND expression. However, you can include + * AND and OR expressions explicitly. + * + * Filter is supported for the following fields: `category`, `state`, + * `update_time` + * @param {google.cloud.servicehealth.v1.OrganizationEventView} [request.view] + * Optional. OrganizationEvent fields to include in response. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing {@link protos.google.cloud.servicehealth.v1.OrganizationEvent|OrganizationEvent} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listOrganizationEventsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listOrganizationEventsStream( - request?: protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listOrganizationEvents']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listOrganizationEvents stream %j', request); return this.descriptors.page.listOrganizationEvents.createStream( this.innerApiCalls.listOrganizationEvents as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listOrganizationEvents`, but returns an iterable object. - * - * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent value using the form - * `organizations/{organization_id}/locations/{location}/organizationEvents`. - * - * `organization_id` - ID (number) of the project that contains the event. To - * get your `organization_id`, see - * [Getting your organization resource - * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
- * `location` - The location to get the service health events from. To - * retrieve service health events of category = INCIDENT, use `location` = - * `global`. - * @param {number} [request.pageSize] - * Optional. The maximum number of events that should be returned. Acceptable - * values are `1` to `100`, inclusive. (The default value is `10`.) If more - * results are available, the service returns a `next_page_token` that you can - * use to get the next page of results in subsequent list requests. The - * service may return fewer events than the requested `page_size`. - * @param {string} [request.pageToken] - * Optional. A token identifying a page of results the server should return. - * - * Provide Page token returned by a previous `ListOrganizationEvents` call to - * retrieve the next page of results. - * - * When paginating, all other parameters provided to - * `ListOrganizationEvents` must match the call that provided the page token. - * @param {string} [request.filter] - * Optional. A filter expression that filters resources listed in the - * response. The expression takes the following forms: - * - * * field=value for `category` and `state` - * * field <, >, <=, or >= value for `update_time` - * - * Examples: `category=INCIDENT`, `update_time>="2000-01-01T11:30:00-04:00"` - * - * Multiple filter queries are space-separated. Example: - * `category=INCIDENT state=ACTIVE`. - * - * By default, each expression is an AND expression. However, you can include - * AND and OR expressions explicitly. - * - * Filter is supported for the following fields: `category`, `state`, - * `update_time` - * @param {google.cloud.servicehealth.v1.OrganizationEventView} [request.view] - * Optional. OrganizationEvent fields to include in response. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Object} - * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.servicehealth.v1.OrganizationEvent|OrganizationEvent}. The API will be called under the hood as needed, once per the page, - * so you can stop the iteration when you don't need more results. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1/service_health.list_organization_events.js - * region_tag:servicehealth_v1_generated_ServiceHealth_ListOrganizationEvents_async - */ + /** + * Equivalent to `listOrganizationEvents`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent value using the form + * `organizations/{organization_id}/locations/{location}/organizationEvents`. + * + * `organization_id` - ID (number) of the project that contains the event. To + * get your `organization_id`, see + * [Getting your organization resource + * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+ * `location` - The location to get the service health events from. To + * retrieve service health events of category = INCIDENT, use `location` = + * `global`. + * @param {number} [request.pageSize] + * Optional. The maximum number of events that should be returned. Acceptable + * values are `1` to `100`, inclusive. (The default value is `10`.) If more + * results are available, the service returns a `next_page_token` that you can + * use to get the next page of results in subsequent list requests. The + * service may return fewer events than the requested `page_size`. + * @param {string} [request.pageToken] + * Optional. A token identifying a page of results the server should return. + * + * Provide Page token returned by a previous `ListOrganizationEvents` call to + * retrieve the next page of results. + * + * When paginating, all other parameters provided to + * `ListOrganizationEvents` must match the call that provided the page token. + * @param {string} [request.filter] + * Optional. A filter expression that filters resources listed in the + * response. The expression takes the following forms: + * + * * field=value for `category` and `state` + * * field <, >, <=, or >= value for `update_time` + * + * Examples: `category=INCIDENT`, `update_time>="2000-01-01T11:30:00-04:00"` + * + * Multiple filter queries are space-separated. Example: + * `category=INCIDENT state=ACTIVE`. + * + * By default, each expression is an AND expression. However, you can include + * AND and OR expressions explicitly. + * + * Filter is supported for the following fields: `category`, `state`, + * `update_time` + * @param {google.cloud.servicehealth.v1.OrganizationEventView} [request.view] + * Optional. OrganizationEvent fields to include in response. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.servicehealth.v1.OrganizationEvent|OrganizationEvent}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1/service_health.list_organization_events.js + * region_tag:servicehealth_v1_generated_ServiceHealth_ListOrganizationEvents_async + */ listOrganizationEventsAsync( - request?: protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.servicehealth.v1.IListOrganizationEventsRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listOrganizationEvents']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listOrganizationEvents iterate %j', request); return this.descriptors.page.listOrganizationEvents.asyncIterate( this.innerApiCalls['listOrganizationEvents'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } - /** - * Lists assets impacted by organization events under a given organization and - * location. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent value using the form - * `organizations/{organization_id}/locations/{location}/organizationImpacts`. - * - * `organization_id` - ID (number) of the project that contains the event. To - * get your `organization_id`, see - * [Getting your organization resource - * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). - * @param {number} [request.pageSize] - * Optional. The maximum number of events that should be returned. Acceptable - * values are `1` to `100`, inclusive. The default value is `10`. - * - * If more results are available, the service returns a - * `next_page_token` that can be used to get the next page of results in - * subsequent list requests. The service may return fewer - * [impacts](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact) - * than the requested `page_size`. - * @param {string} [request.pageToken] - * Optional. A token identifying a page of results the server should return. - * - * Provide `page_token` returned by a previous `ListOrganizationImpacts` call - * to retrieve the next page of results. - * - * When paginating, all other parameters provided to `ListOrganizationImpacts` - * must match the call that provided the page token. - * @param {string} [request.filter] - * Optional. A filter expression that filters resources listed in the - * response. The expression is in the form of `field:value` for checking if a - * repeated field contains a value. - * - * Example: - * `events:organizations%2F{organization_id}%2Flocations%2Fglobal%2ForganizationEvents%2Fevent-id` - * - * To get your `{organization_id}`, see - * [Getting your organization resource - * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). - * - * Multiple filter queries are separated by spaces. - * - * By default, each expression is an AND expression. However, you can include - * AND and OR expressions explicitly. - * Filter is supported for the following fields: `events`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of {@link protos.google.cloud.servicehealth.v1.OrganizationImpact|OrganizationImpact}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listOrganizationImpactsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Lists assets impacted by organization events under a given organization and + * location. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent value using the form + * `organizations/{organization_id}/locations/{location}/organizationImpacts`. + * + * `organization_id` - ID (number) of the project that contains the event. To + * get your `organization_id`, see + * [Getting your organization resource + * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). + * @param {number} [request.pageSize] + * Optional. The maximum number of events that should be returned. Acceptable + * values are `1` to `100`, inclusive. The default value is `10`. + * + * If more results are available, the service returns a + * `next_page_token` that can be used to get the next page of results in + * subsequent list requests. The service may return fewer + * [impacts](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact) + * than the requested `page_size`. + * @param {string} [request.pageToken] + * Optional. A token identifying a page of results the server should return. + * + * Provide `page_token` returned by a previous `ListOrganizationImpacts` call + * to retrieve the next page of results. + * + * When paginating, all other parameters provided to `ListOrganizationImpacts` + * must match the call that provided the page token. + * @param {string} [request.filter] + * Optional. A filter expression that filters resources listed in the + * response. The expression is in the form of `field:value` for checking if a + * repeated field contains a value. + * + * Example: + * `events:organizations%2F{organization_id}%2Flocations%2Fglobal%2ForganizationEvents%2Fevent-id` + * + * To get your `{organization_id}`, see + * [Getting your organization resource + * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). + * + * Multiple filter queries are separated by spaces. + * + * By default, each expression is an AND expression. However, you can include + * AND and OR expressions explicitly. + * Filter is supported for the following fields: `events`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of {@link protos.google.cloud.servicehealth.v1.OrganizationImpact|OrganizationImpact}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listOrganizationImpactsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listOrganizationImpacts( - request?: protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.servicehealth.v1.IOrganizationImpact[], - protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest|null, - protos.google.cloud.servicehealth.v1.IListOrganizationImpactsResponse - ]>; + request?: protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.servicehealth.v1.IOrganizationImpact[], + protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest | null, + protos.google.cloud.servicehealth.v1.IListOrganizationImpactsResponse, + ] + >; listOrganizationImpacts( - request: protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, - protos.google.cloud.servicehealth.v1.IListOrganizationImpactsResponse|null|undefined, - protos.google.cloud.servicehealth.v1.IOrganizationImpact>): void; + request: protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, + | protos.google.cloud.servicehealth.v1.IListOrganizationImpactsResponse + | null + | undefined, + protos.google.cloud.servicehealth.v1.IOrganizationImpact + >, + ): void; listOrganizationImpacts( - request: protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, - callback: PaginationCallback< - protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, - protos.google.cloud.servicehealth.v1.IListOrganizationImpactsResponse|null|undefined, - protos.google.cloud.servicehealth.v1.IOrganizationImpact>): void; + request: protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, + callback: PaginationCallback< + protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, + | protos.google.cloud.servicehealth.v1.IListOrganizationImpactsResponse + | null + | undefined, + protos.google.cloud.servicehealth.v1.IOrganizationImpact + >, + ): void; listOrganizationImpacts( - request?: protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, - protos.google.cloud.servicehealth.v1.IListOrganizationImpactsResponse|null|undefined, - protos.google.cloud.servicehealth.v1.IOrganizationImpact>, - callback?: PaginationCallback< + request?: protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, - protos.google.cloud.servicehealth.v1.IListOrganizationImpactsResponse|null|undefined, - protos.google.cloud.servicehealth.v1.IOrganizationImpact>): - Promise<[ - protos.google.cloud.servicehealth.v1.IOrganizationImpact[], - protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest|null, - protos.google.cloud.servicehealth.v1.IListOrganizationImpactsResponse - ]>|void { + | protos.google.cloud.servicehealth.v1.IListOrganizationImpactsResponse + | null + | undefined, + protos.google.cloud.servicehealth.v1.IOrganizationImpact + >, + callback?: PaginationCallback< + protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, + | protos.google.cloud.servicehealth.v1.IListOrganizationImpactsResponse + | null + | undefined, + protos.google.cloud.servicehealth.v1.IOrganizationImpact + >, + ): Promise< + [ + protos.google.cloud.servicehealth.v1.IOrganizationImpact[], + protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest | null, + protos.google.cloud.servicehealth.v1.IListOrganizationImpactsResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, - protos.google.cloud.servicehealth.v1.IListOrganizationImpactsResponse|null|undefined, - protos.google.cloud.servicehealth.v1.IOrganizationImpact>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, + | protos.google.cloud.servicehealth.v1.IListOrganizationImpactsResponse + | null + | undefined, + protos.google.cloud.servicehealth.v1.IOrganizationImpact + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listOrganizationImpacts values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -1380,181 +1654,186 @@ export class ServiceHealthClient { this._log.info('listOrganizationImpacts request %j', request); return this.innerApiCalls .listOrganizationImpacts(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.servicehealth.v1.IOrganizationImpact[], - protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest|null, - protos.google.cloud.servicehealth.v1.IListOrganizationImpactsResponse - ]) => { - this._log.info('listOrganizationImpacts values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.servicehealth.v1.IOrganizationImpact[], + protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest | null, + protos.google.cloud.servicehealth.v1.IListOrganizationImpactsResponse, + ]) => { + this._log.info('listOrganizationImpacts values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listOrganizationImpacts`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent value using the form - * `organizations/{organization_id}/locations/{location}/organizationImpacts`. - * - * `organization_id` - ID (number) of the project that contains the event. To - * get your `organization_id`, see - * [Getting your organization resource - * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). - * @param {number} [request.pageSize] - * Optional. The maximum number of events that should be returned. Acceptable - * values are `1` to `100`, inclusive. The default value is `10`. - * - * If more results are available, the service returns a - * `next_page_token` that can be used to get the next page of results in - * subsequent list requests. The service may return fewer - * [impacts](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact) - * than the requested `page_size`. - * @param {string} [request.pageToken] - * Optional. A token identifying a page of results the server should return. - * - * Provide `page_token` returned by a previous `ListOrganizationImpacts` call - * to retrieve the next page of results. - * - * When paginating, all other parameters provided to `ListOrganizationImpacts` - * must match the call that provided the page token. - * @param {string} [request.filter] - * Optional. A filter expression that filters resources listed in the - * response. The expression is in the form of `field:value` for checking if a - * repeated field contains a value. - * - * Example: - * `events:organizations%2F{organization_id}%2Flocations%2Fglobal%2ForganizationEvents%2Fevent-id` - * - * To get your `{organization_id}`, see - * [Getting your organization resource - * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). - * - * Multiple filter queries are separated by spaces. - * - * By default, each expression is an AND expression. However, you can include - * AND and OR expressions explicitly. - * Filter is supported for the following fields: `events`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Stream} - * An object stream which emits an object representing {@link protos.google.cloud.servicehealth.v1.OrganizationImpact|OrganizationImpact} on 'data' event. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed. Note that it can affect your quota. - * We recommend using `listOrganizationImpactsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listOrganizationImpacts`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent value using the form + * `organizations/{organization_id}/locations/{location}/organizationImpacts`. + * + * `organization_id` - ID (number) of the project that contains the event. To + * get your `organization_id`, see + * [Getting your organization resource + * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). + * @param {number} [request.pageSize] + * Optional. The maximum number of events that should be returned. Acceptable + * values are `1` to `100`, inclusive. The default value is `10`. + * + * If more results are available, the service returns a + * `next_page_token` that can be used to get the next page of results in + * subsequent list requests. The service may return fewer + * [impacts](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact) + * than the requested `page_size`. + * @param {string} [request.pageToken] + * Optional. A token identifying a page of results the server should return. + * + * Provide `page_token` returned by a previous `ListOrganizationImpacts` call + * to retrieve the next page of results. + * + * When paginating, all other parameters provided to `ListOrganizationImpacts` + * must match the call that provided the page token. + * @param {string} [request.filter] + * Optional. A filter expression that filters resources listed in the + * response. The expression is in the form of `field:value` for checking if a + * repeated field contains a value. + * + * Example: + * `events:organizations%2F{organization_id}%2Flocations%2Fglobal%2ForganizationEvents%2Fevent-id` + * + * To get your `{organization_id}`, see + * [Getting your organization resource + * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). + * + * Multiple filter queries are separated by spaces. + * + * By default, each expression is an AND expression. However, you can include + * AND and OR expressions explicitly. + * Filter is supported for the following fields: `events`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing {@link protos.google.cloud.servicehealth.v1.OrganizationImpact|OrganizationImpact} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listOrganizationImpactsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listOrganizationImpactsStream( - request?: protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listOrganizationImpacts']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listOrganizationImpacts stream %j', request); return this.descriptors.page.listOrganizationImpacts.createStream( this.innerApiCalls.listOrganizationImpacts as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listOrganizationImpacts`, but returns an iterable object. - * - * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent value using the form - * `organizations/{organization_id}/locations/{location}/organizationImpacts`. - * - * `organization_id` - ID (number) of the project that contains the event. To - * get your `organization_id`, see - * [Getting your organization resource - * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). - * @param {number} [request.pageSize] - * Optional. The maximum number of events that should be returned. Acceptable - * values are `1` to `100`, inclusive. The default value is `10`. - * - * If more results are available, the service returns a - * `next_page_token` that can be used to get the next page of results in - * subsequent list requests. The service may return fewer - * [impacts](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact) - * than the requested `page_size`. - * @param {string} [request.pageToken] - * Optional. A token identifying a page of results the server should return. - * - * Provide `page_token` returned by a previous `ListOrganizationImpacts` call - * to retrieve the next page of results. - * - * When paginating, all other parameters provided to `ListOrganizationImpacts` - * must match the call that provided the page token. - * @param {string} [request.filter] - * Optional. A filter expression that filters resources listed in the - * response. The expression is in the form of `field:value` for checking if a - * repeated field contains a value. - * - * Example: - * `events:organizations%2F{organization_id}%2Flocations%2Fglobal%2ForganizationEvents%2Fevent-id` - * - * To get your `{organization_id}`, see - * [Getting your organization resource - * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). - * - * Multiple filter queries are separated by spaces. - * - * By default, each expression is an AND expression. However, you can include - * AND and OR expressions explicitly. - * Filter is supported for the following fields: `events`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Object} - * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.servicehealth.v1.OrganizationImpact|OrganizationImpact}. The API will be called under the hood as needed, once per the page, - * so you can stop the iteration when you don't need more results. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1/service_health.list_organization_impacts.js - * region_tag:servicehealth_v1_generated_ServiceHealth_ListOrganizationImpacts_async - */ + /** + * Equivalent to `listOrganizationImpacts`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent value using the form + * `organizations/{organization_id}/locations/{location}/organizationImpacts`. + * + * `organization_id` - ID (number) of the project that contains the event. To + * get your `organization_id`, see + * [Getting your organization resource + * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). + * @param {number} [request.pageSize] + * Optional. The maximum number of events that should be returned. Acceptable + * values are `1` to `100`, inclusive. The default value is `10`. + * + * If more results are available, the service returns a + * `next_page_token` that can be used to get the next page of results in + * subsequent list requests. The service may return fewer + * [impacts](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact) + * than the requested `page_size`. + * @param {string} [request.pageToken] + * Optional. A token identifying a page of results the server should return. + * + * Provide `page_token` returned by a previous `ListOrganizationImpacts` call + * to retrieve the next page of results. + * + * When paginating, all other parameters provided to `ListOrganizationImpacts` + * must match the call that provided the page token. + * @param {string} [request.filter] + * Optional. A filter expression that filters resources listed in the + * response. The expression is in the form of `field:value` for checking if a + * repeated field contains a value. + * + * Example: + * `events:organizations%2F{organization_id}%2Flocations%2Fglobal%2ForganizationEvents%2Fevent-id` + * + * To get your `{organization_id}`, see + * [Getting your organization resource + * ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). + * + * Multiple filter queries are separated by spaces. + * + * By default, each expression is an AND expression. However, you can include + * AND and OR expressions explicitly. + * Filter is supported for the following fields: `events`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.servicehealth.v1.OrganizationImpact|OrganizationImpact}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1/service_health.list_organization_impacts.js + * region_tag:servicehealth_v1_generated_ServiceHealth_ListOrganizationImpacts_async + */ listOrganizationImpactsAsync( - request?: protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.servicehealth.v1.IListOrganizationImpactsRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listOrganizationImpacts']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listOrganizationImpacts iterate %j', request); return this.descriptors.page.listOrganizationImpacts.asyncIterate( this.innerApiCalls['listOrganizationImpacts'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } -/** + + /** * Gets information about a location. * * @param {Object} request @@ -1589,12 +1868,11 @@ export class ServiceHealthClient { | null | undefined, {} | null | undefined - > + >, ): Promise { return this.locationsClient.getLocation(request, options, callback); } - -/** + /** * Lists information about the supported locations for this service. Returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. @@ -1627,7 +1905,7 @@ export class ServiceHealthClient { */ listLocationsAsync( request: LocationProtos.google.cloud.location.IListLocationsRequest, - options?: CallOptions + options?: CallOptions, ): AsyncIterable { return this.locationsClient.listLocationsAsync(request, options); } @@ -1644,7 +1922,7 @@ export class ServiceHealthClient { * @param {string} event * @returns {string} Resource name string. */ - eventPath(project:string,location:string,event:string) { + eventPath(project: string, location: string, event: string) { return this.pathTemplates.eventPathTemplate.render({ project: project, location: location, @@ -1693,7 +1971,7 @@ export class ServiceHealthClient { * @param {string} event * @returns {string} Resource name string. */ - organizationEventPath(organization:string,location:string,event:string) { + organizationEventPath(organization: string, location: string, event: string) { return this.pathTemplates.organizationEventPathTemplate.render({ organization: organization, location: location, @@ -1709,7 +1987,9 @@ export class ServiceHealthClient { * @returns {string} A string representing the organization. */ matchOrganizationFromOrganizationEventName(organizationEventName: string) { - return this.pathTemplates.organizationEventPathTemplate.match(organizationEventName).organization; + return this.pathTemplates.organizationEventPathTemplate.match( + organizationEventName, + ).organization; } /** @@ -1720,7 +2000,9 @@ export class ServiceHealthClient { * @returns {string} A string representing the location. */ matchLocationFromOrganizationEventName(organizationEventName: string) { - return this.pathTemplates.organizationEventPathTemplate.match(organizationEventName).location; + return this.pathTemplates.organizationEventPathTemplate.match( + organizationEventName, + ).location; } /** @@ -1731,7 +2013,9 @@ export class ServiceHealthClient { * @returns {string} A string representing the event. */ matchEventFromOrganizationEventName(organizationEventName: string) { - return this.pathTemplates.organizationEventPathTemplate.match(organizationEventName).event; + return this.pathTemplates.organizationEventPathTemplate.match( + organizationEventName, + ).event; } /** @@ -1742,7 +2026,11 @@ export class ServiceHealthClient { * @param {string} organization_impact * @returns {string} Resource name string. */ - organizationImpactPath(organization:string,location:string,organizationImpact:string) { + organizationImpactPath( + organization: string, + location: string, + organizationImpact: string, + ) { return this.pathTemplates.organizationImpactPathTemplate.render({ organization: organization, location: location, @@ -1758,7 +2046,9 @@ export class ServiceHealthClient { * @returns {string} A string representing the organization. */ matchOrganizationFromOrganizationImpactName(organizationImpactName: string) { - return this.pathTemplates.organizationImpactPathTemplate.match(organizationImpactName).organization; + return this.pathTemplates.organizationImpactPathTemplate.match( + organizationImpactName, + ).organization; } /** @@ -1769,7 +2059,9 @@ export class ServiceHealthClient { * @returns {string} A string representing the location. */ matchLocationFromOrganizationImpactName(organizationImpactName: string) { - return this.pathTemplates.organizationImpactPathTemplate.match(organizationImpactName).location; + return this.pathTemplates.organizationImpactPathTemplate.match( + organizationImpactName, + ).location; } /** @@ -1779,8 +2071,12 @@ export class ServiceHealthClient { * A fully-qualified path representing OrganizationImpact resource. * @returns {string} A string representing the organization_impact. */ - matchOrganizationImpactFromOrganizationImpactName(organizationImpactName: string) { - return this.pathTemplates.organizationImpactPathTemplate.match(organizationImpactName).organization_impact; + matchOrganizationImpactFromOrganizationImpactName( + organizationImpactName: string, + ) { + return this.pathTemplates.organizationImpactPathTemplate.match( + organizationImpactName, + ).organization_impact; } /** @@ -1791,13 +2087,15 @@ export class ServiceHealthClient { */ close(): Promise { if (this.serviceHealthStub && !this._terminated) { - return this.serviceHealthStub.then(stub => { + return this.serviceHealthStub.then((stub) => { this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); - this.locationsClient.close().catch(err => {throw err}); + this.locationsClient.close().catch((err) => { + throw err; + }); }); } return Promise.resolve(); } -} \ No newline at end of file +} diff --git a/packages/google-cloud-servicehealth/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-servicehealth/system-test/fixtures/sample/src/index.ts index 833cb312cc7d..ceebc67b494f 100644 --- a/packages/google-cloud-servicehealth/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-servicehealth/system-test/fixtures/sample/src/index.ts @@ -16,7 +16,7 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -import {ServiceHealthClient} from '@google-cloud/servicehealth'; +import { ServiceHealthClient } from '@google-cloud/servicehealth'; // check that the client class type name can be used function doStuffWithServiceHealthClient(client: ServiceHealthClient) { diff --git a/packages/google-cloud-servicehealth/system-test/install.ts b/packages/google-cloud-servicehealth/system-test/install.ts index f66069aa3940..ccf167042d2e 100644 --- a/packages/google-cloud-servicehealth/system-test/install.ts +++ b/packages/google-cloud-servicehealth/system-test/install.ts @@ -16,34 +16,36 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -import {packNTest} from 'pack-n-play'; -import {readFileSync} from 'fs'; -import {describe, it} from 'mocha'; +import { packNTest } from 'pack-n-play'; +import { readFileSync } from 'fs'; +import { describe, it } from 'mocha'; describe('📦 pack-n-play test', () => { - - it('TypeScript code', async function() { + it('TypeScript code', async function () { this.timeout(300000); const options = { packageDir: process.cwd(), sample: { description: 'TypeScript user can use the type definitions', - ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString() - } + ts: readFileSync( + './system-test/fixtures/sample/src/index.ts', + ).toString(), + }, }; await packNTest(options); }); - it('JavaScript code', async function() { + it('JavaScript code', async function () { this.timeout(300000); const options = { packageDir: process.cwd(), sample: { description: 'JavaScript user can use the library', - cjs: readFileSync('./system-test/fixtures/sample/src/index.js').toString() - } + cjs: readFileSync( + './system-test/fixtures/sample/src/index.js', + ).toString(), + }, }; await packNTest(options); }); - }); diff --git a/packages/google-cloud-servicehealth/test/gapic_service_health_v1.ts b/packages/google-cloud-servicehealth/test/gapic_service_health_v1.ts index 405534e72651..c02bd9cfc724 100644 --- a/packages/google-cloud-servicehealth/test/gapic_service_health_v1.ts +++ b/packages/google-cloud-servicehealth/test/gapic_service_health_v1.ts @@ -19,1609 +19,2147 @@ import * as protos from '../protos/protos'; import * as assert from 'assert'; import * as sinon from 'sinon'; -import {SinonStub} from 'sinon'; -import {describe, it} from 'mocha'; +import { SinonStub } from 'sinon'; +import { describe, it } from 'mocha'; import * as servicehealthModule from '../src'; -import {PassThrough} from 'stream'; +import { PassThrough } from 'stream'; -import {protobuf, LocationProtos} from 'google-gax'; +import { protobuf, LocationProtos } from 'google-gax'; // Dynamically loaded proto JSON is needed to get the type information // to fill in default values for request objects -const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); +const root = protobuf.Root.fromJSON( + require('../protos/protos.json'), +).resolveAll(); // eslint-disable-next-line @typescript-eslint/no-unused-vars function getTypeDefaultValue(typeName: string, fields: string[]) { - let type = root.lookupType(typeName) as protobuf.Type; - for (const field of fields.slice(0, -1)) { - type = type.fields[field]?.resolvedType as protobuf.Type; - } - return type.fields[fields[fields.length - 1]]?.defaultValue; + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; } function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, { defaults: true }); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject, + ) as T; } function stubSimpleCall(response?: ResponseType, error?: Error) { - return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); } -function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { - return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error, +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); } -function stubPageStreamingCall(responses?: ResponseType[], error?: Error) { - const pagingStub = sinon.stub(); - if (responses) { - for (let i = 0; i < responses.length; ++i) { - pagingStub.onCall(i).callsArgWith(2, null, responses[i]); - } +function stubPageStreamingCall( + responses?: ResponseType[], + error?: Error, +) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); } - const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub; - const mockStream = new PassThrough({ - objectMode: true, - transform: transformStub, - }); - // trigger as many responses as needed - if (responses) { - for (let i = 0; i < responses.length; ++i) { - setImmediate(() => { mockStream.write({}); }); - } - setImmediate(() => { mockStream.end(); }); - } else { - setImmediate(() => { mockStream.write({}); }); - setImmediate(() => { mockStream.end(); }); + } + const transformStub = error + ? sinon.stub().callsArgWith(2, error) + : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { + mockStream.write({}); + }); } - return sinon.stub().returns(mockStream); + setImmediate(() => { + mockStream.end(); + }); + } else { + setImmediate(() => { + mockStream.write({}); + }); + setImmediate(() => { + mockStream.end(); + }); + } + return sinon.stub().returns(mockStream); } -function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { - let counter = 0; - const asyncIterable = { - [Symbol.asyncIterator]() { - return { - async next() { - if (error) { - return Promise.reject(error); - } - if (counter >= responses!.length) { - return Promise.resolve({done: true, value: undefined}); - } - return Promise.resolve({done: false, value: responses![counter++]}); - } - }; - } - }; - return sinon.stub().returns(asyncIterable); +function stubAsyncIterationCall( + responses?: ResponseType[], + error?: Error, +) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({ done: true, value: undefined }); + } + return Promise.resolve({ done: false, value: responses![counter++] }); + }, + }; + }, + }; + return sinon.stub().returns(asyncIterable); } describe('v1.ServiceHealthClient', () => { - describe('Common methods', () => { - it('has apiEndpoint', () => { - const client = new servicehealthModule.v1.ServiceHealthClient(); - const apiEndpoint = client.apiEndpoint; - assert.strictEqual(apiEndpoint, 'servicehealth.googleapis.com'); - }); + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = new servicehealthModule.v1.ServiceHealthClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'servicehealth.googleapis.com'); + }); - it('has universeDomain', () => { - const client = new servicehealthModule.v1.ServiceHealthClient(); - const universeDomain = client.universeDomain; - assert.strictEqual(universeDomain, "googleapis.com"); - }); + it('has universeDomain', () => { + const client = new servicehealthModule.v1.ServiceHealthClient(); + const universeDomain = client.universeDomain; + assert.strictEqual(universeDomain, 'googleapis.com'); + }); - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - it('throws DeprecationWarning if static servicePath is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const servicePath = servicehealthModule.v1.ServiceHealthClient.servicePath; - assert.strictEqual(servicePath, 'servicehealth.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - - it('throws DeprecationWarning if static apiEndpoint is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const apiEndpoint = servicehealthModule.v1.ServiceHealthClient.apiEndpoint; - assert.strictEqual(apiEndpoint, 'servicehealth.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - } - it('sets apiEndpoint according to universe domain camelCase', () => { - const client = new servicehealthModule.v1.ServiceHealthClient({universeDomain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicehealth.example.com'); - }); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + it('throws DeprecationWarning if static servicePath is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const servicePath = + servicehealthModule.v1.ServiceHealthClient.servicePath; + assert.strictEqual(servicePath, 'servicehealth.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = + servicehealthModule.v1.ServiceHealthClient.apiEndpoint; + assert.strictEqual(apiEndpoint, 'servicehealth.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + universeDomain: 'example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'servicehealth.example.com'); + }); - it('sets apiEndpoint according to universe domain snakeCase', () => { - const client = new servicehealthModule.v1.ServiceHealthClient({universe_domain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicehealth.example.com'); - }); + it('sets apiEndpoint according to universe domain snakeCase', () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + universe_domain: 'example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'servicehealth.example.com'); + }); - if (typeof process === 'object' && 'env' in process) { - describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { - it('sets apiEndpoint from environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new servicehealthModule.v1.ServiceHealthClient(); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicehealth.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - - it('value configured in code has priority over environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new servicehealthModule.v1.ServiceHealthClient({universeDomain: 'configured.example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'servicehealth.configured.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - }); - } - it('does not allow setting both universeDomain and universe_domain', () => { - assert.throws(() => { new servicehealthModule.v1.ServiceHealthClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); + if (typeof process === 'object' && 'env' in process) { + describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { + it('sets apiEndpoint from environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = new servicehealthModule.v1.ServiceHealthClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'servicehealth.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } }); - it('has port', () => { - const port = servicehealthModule.v1.ServiceHealthClient.port; - assert(port); - assert(typeof port === 'number'); + it('value configured in code has priority over environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = new servicehealthModule.v1.ServiceHealthClient({ + universeDomain: 'configured.example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual( + servicePath, + 'servicehealth.configured.example.com', + ); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } }); - - it('should create a client with no option', () => { - const client = new servicehealthModule.v1.ServiceHealthClient(); - assert(client); + }); + } + it('does not allow setting both universeDomain and universe_domain', () => { + assert.throws(() => { + new servicehealthModule.v1.ServiceHealthClient({ + universe_domain: 'example.com', + universeDomain: 'example.net', }); + }); + }); - it('should create a client with gRPC fallback', () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - fallback: true, - }); - assert(client); - }); + it('has port', () => { + const port = servicehealthModule.v1.ServiceHealthClient.port; + assert(port); + assert(typeof port === 'number'); + }); - it('has initialize method and supports deferred initialization', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.serviceHealthStub, undefined); - await client.initialize(); - assert(client.serviceHealthStub); - }); + it('should create a client with no option', () => { + const client = new servicehealthModule.v1.ServiceHealthClient(); + assert(client); + }); - it('has close method for the initialized client', done => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize().catch(err => {throw err}); - assert(client.serviceHealthStub); - client.close().then(() => { - done(); - }).catch(err => {throw err}); - }); + it('should create a client with gRPC fallback', () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + fallback: true, + }); + assert(client); + }); - it('has close method for the non-initialized client', done => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.serviceHealthStub, undefined); - client.close().then(() => { - done(); - }).catch(err => {throw err}); - }); + it('has initialize method and supports deferred initialization', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.serviceHealthStub, undefined); + await client.initialize(); + assert(client.serviceHealthStub); + }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + it('has close method for the initialized client', (done) => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.initialize().catch((err) => { + throw err; + }); + assert(client.serviceHealthStub); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); + }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error|null, projectId?: string|null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } - }); - }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); + it('has close method for the non-initialized client', (done) => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.serviceHealthStub, undefined); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); }); - describe('getEvent', () => { - it('invokes getEvent without error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.GetEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.GetEventRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.Event() - ); - client.innerApiCalls.getEvent = stubSimpleCall(expectedResponse); - const [response] = await client.getEvent(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); - it('invokes getEvent without error using callback', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.GetEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.GetEventRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.Event() - ); - client.innerApiCalls.getEvent = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getEvent( - request, - (err?: Error|null, result?: protos.google.cloud.servicehealth.v1.IEvent|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + }); + + describe('getEvent', () => { + it('invokes getEvent without error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.GetEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.GetEventRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.Event(), + ); + client.innerApiCalls.getEvent = stubSimpleCall(expectedResponse); + const [response] = await client.getEvent(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getEvent with error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.GetEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.GetEventRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getEvent = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getEvent(request), expectedError); - const actualRequest = (client.innerApiCalls.getEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getEvent without error using callback', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.GetEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.GetEventRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.Event(), + ); + client.innerApiCalls.getEvent = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getEvent( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicehealth.v1.IEvent | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getEvent with closed client', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.GetEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.GetEventRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getEvent(request), expectedError); - }); + it('invokes getEvent with error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.GetEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.GetEventRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getEvent = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getEvent(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('getOrganizationEvent', () => { - it('invokes getOrganizationEvent without error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.GetOrganizationEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.GetOrganizationEventRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.OrganizationEvent() - ); - client.innerApiCalls.getOrganizationEvent = stubSimpleCall(expectedResponse); - const [response] = await client.getOrganizationEvent(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getOrganizationEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getOrganizationEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getEvent with closed client', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.GetEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.GetEventRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getEvent(request), expectedError); + }); + }); + + describe('getOrganizationEvent', () => { + it('invokes getOrganizationEvent without error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.GetOrganizationEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.GetOrganizationEventRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationEvent(), + ); + client.innerApiCalls.getOrganizationEvent = + stubSimpleCall(expectedResponse); + const [response] = await client.getOrganizationEvent(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getOrganizationEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getOrganizationEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getOrganizationEvent without error using callback', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.GetOrganizationEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.GetOrganizationEventRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.OrganizationEvent() - ); - client.innerApiCalls.getOrganizationEvent = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getOrganizationEvent( - request, - (err?: Error|null, result?: protos.google.cloud.servicehealth.v1.IOrganizationEvent|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getOrganizationEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getOrganizationEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getOrganizationEvent without error using callback', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.GetOrganizationEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.GetOrganizationEventRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationEvent(), + ); + client.innerApiCalls.getOrganizationEvent = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getOrganizationEvent( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicehealth.v1.IOrganizationEvent | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getOrganizationEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getOrganizationEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getOrganizationEvent with error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.GetOrganizationEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.GetOrganizationEventRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getOrganizationEvent = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getOrganizationEvent(request), expectedError); - const actualRequest = (client.innerApiCalls.getOrganizationEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getOrganizationEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getOrganizationEvent with error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.GetOrganizationEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.GetOrganizationEventRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getOrganizationEvent = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getOrganizationEvent(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getOrganizationEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getOrganizationEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getOrganizationEvent with closed client', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.GetOrganizationEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.GetOrganizationEventRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getOrganizationEvent(request), expectedError); - }); + it('invokes getOrganizationEvent with closed client', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.GetOrganizationEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.GetOrganizationEventRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getOrganizationEvent(request), expectedError); + }); + }); + + describe('getOrganizationImpact', () => { + it('invokes getOrganizationImpact without error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.GetOrganizationImpactRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.GetOrganizationImpactRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationImpact(), + ); + client.innerApiCalls.getOrganizationImpact = + stubSimpleCall(expectedResponse); + const [response] = await client.getOrganizationImpact(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getOrganizationImpact as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getOrganizationImpact as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('getOrganizationImpact', () => { - it('invokes getOrganizationImpact without error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.GetOrganizationImpactRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.GetOrganizationImpactRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.OrganizationImpact() - ); - client.innerApiCalls.getOrganizationImpact = stubSimpleCall(expectedResponse); - const [response] = await client.getOrganizationImpact(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getOrganizationImpact as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getOrganizationImpact as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getOrganizationImpact without error using callback', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.GetOrganizationImpactRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.GetOrganizationImpactRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationImpact(), + ); + client.innerApiCalls.getOrganizationImpact = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getOrganizationImpact( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicehealth.v1.IOrganizationImpact | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getOrganizationImpact as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getOrganizationImpact as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getOrganizationImpact without error using callback', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.GetOrganizationImpactRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.GetOrganizationImpactRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.OrganizationImpact() - ); - client.innerApiCalls.getOrganizationImpact = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getOrganizationImpact( - request, - (err?: Error|null, result?: protos.google.cloud.servicehealth.v1.IOrganizationImpact|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getOrganizationImpact as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getOrganizationImpact as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getOrganizationImpact with error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.GetOrganizationImpactRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.GetOrganizationImpactRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getOrganizationImpact = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.getOrganizationImpact(request), + expectedError, + ); + const actualRequest = ( + client.innerApiCalls.getOrganizationImpact as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getOrganizationImpact as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getOrganizationImpact with error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.GetOrganizationImpactRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.GetOrganizationImpactRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getOrganizationImpact = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getOrganizationImpact(request), expectedError); - const actualRequest = (client.innerApiCalls.getOrganizationImpact as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getOrganizationImpact as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getOrganizationImpact with closed client', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.GetOrganizationImpactRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.GetOrganizationImpactRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects( + client.getOrganizationImpact(request), + expectedError, + ); + }); + }); + + describe('listEvents', () => { + it('invokes listEvents without error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), + generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), + generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), + ]; + client.innerApiCalls.listEvents = stubSimpleCall(expectedResponse); + const [response] = await client.listEvents(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listEvents as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listEvents as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes getOrganizationImpact with closed client', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.GetOrganizationImpactRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.GetOrganizationImpactRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getOrganizationImpact(request), expectedError); - }); + it('invokes listEvents without error using callback', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), + generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), + generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), + ]; + client.innerApiCalls.listEvents = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listEvents( + request, + ( + err?: Error | null, + result?: protos.google.cloud.servicehealth.v1.IEvent[] | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listEvents as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listEvents as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('listEvents', () => { - it('invokes listEvents without error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), - ]; - client.innerApiCalls.listEvents = stubSimpleCall(expectedResponse); - const [response] = await client.listEvents(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listEvents as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listEvents as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes listEvents with error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listEvents = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.listEvents(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listEvents as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listEvents as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes listEvents without error using callback', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), - ]; - client.innerApiCalls.listEvents = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listEvents( - request, - (err?: Error|null, result?: protos.google.cloud.servicehealth.v1.IEvent[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listEvents as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listEvents as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + it('invokes listEventsStream without error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), + generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), + generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), + ]; + client.descriptors.page.listEvents.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listEventsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicehealth.v1.Event[] = []; + stream.on( + 'data', + (response: protos.google.cloud.servicehealth.v1.Event) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); }); - - it('invokes listEvents with error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listEvents = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listEvents(request), expectedError); - const actualRequest = (client.innerApiCalls.listEvents as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listEvents as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + stream.on('error', (err: Error) => { + reject(err); }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listEvents.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listEvents, request), + ); + assert( + (client.descriptors.page.listEvents.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('invokes listEventsStream without error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), - ]; - client.descriptors.page.listEvents.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listEventsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicehealth.v1.Event[] = []; - stream.on('data', (response: protos.google.cloud.servicehealth.v1.Event) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - const responses = await promise; - assert.deepStrictEqual(responses, expectedResponse); - assert((client.descriptors.page.listEvents.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listEvents, request)); - assert( - (client.descriptors.page.listEvents.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); + it('invokes listEventsStream with error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listEvents.createStream = stubPageStreamingCall( + undefined, + expectedError, + ); + const stream = client.listEventsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicehealth.v1.Event[] = []; + stream.on( + 'data', + (response: protos.google.cloud.servicehealth.v1.Event) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); }); - - it('invokes listEventsStream with error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listEvents.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listEventsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicehealth.v1.Event[] = []; - stream.on('data', (response: protos.google.cloud.servicehealth.v1.Event) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listEvents.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listEvents, request)); - assert( - (client.descriptors.page.listEvents.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); + stream.on('error', (err: Error) => { + reject(err); }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listEvents.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listEvents, request), + ); + assert( + (client.descriptors.page.listEvents.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('uses async iteration with listEvents without error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), + generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), + generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), + ]; + client.descriptors.page.listEvents.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.servicehealth.v1.IEvent[] = []; + const iterable = client.listEventsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listEvents.asyncIterate as SinonStub).getCall( + 0, + ).args[1], + request, + ); + assert( + (client.descriptors.page.listEvents.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('uses async iteration with listEvents with error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listEvents.asyncIterate = stubAsyncIterationCall( + undefined, + expectedError, + ); + const iterable = client.listEventsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.servicehealth.v1.IEvent[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listEvents.asyncIterate as SinonStub).getCall( + 0, + ).args[1], + request, + ); + assert( + (client.descriptors.page.listEvents.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + }); + + describe('listOrganizationEvents', () => { + it('invokes listOrganizationEvents without error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListOrganizationEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListOrganizationEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationEvent(), + ), + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationEvent(), + ), + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationEvent(), + ), + ]; + client.innerApiCalls.listOrganizationEvents = + stubSimpleCall(expectedResponse); + const [response] = await client.listOrganizationEvents(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listOrganizationEvents as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listOrganizationEvents as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('uses async iteration with listEvents without error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.Event()), - ]; - client.descriptors.page.listEvents.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.servicehealth.v1.IEvent[] = []; - const iterable = client.listEventsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + it('invokes listOrganizationEvents without error using callback', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListOrganizationEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListOrganizationEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationEvent(), + ), + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationEvent(), + ), + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationEvent(), + ), + ]; + client.innerApiCalls.listOrganizationEvents = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listOrganizationEvents( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.servicehealth.v1.IOrganizationEvent[] + | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listEvents.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listEvents.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listOrganizationEvents as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listOrganizationEvents as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('uses async iteration with listEvents with error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listEvents.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listEventsAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.servicehealth.v1.IEvent[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listEvents.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listEvents.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('invokes listOrganizationEvents with error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListOrganizationEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListOrganizationEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listOrganizationEvents = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.listOrganizationEvents(request), + expectedError, + ); + const actualRequest = ( + client.innerApiCalls.listOrganizationEvents as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listOrganizationEvents as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('listOrganizationEvents', () => { - it('invokes listOrganizationEvents without error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListOrganizationEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListOrganizationEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationEvent()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationEvent()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationEvent()), - ]; - client.innerApiCalls.listOrganizationEvents = stubSimpleCall(expectedResponse); - const [response] = await client.listOrganizationEvents(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listOrganizationEvents as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listOrganizationEvents as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + it('invokes listOrganizationEventsStream without error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListOrganizationEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListOrganizationEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationEvent(), + ), + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationEvent(), + ), + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationEvent(), + ), + ]; + client.descriptors.page.listOrganizationEvents.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listOrganizationEventsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicehealth.v1.OrganizationEvent[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.servicehealth.v1.OrganizationEvent, + ) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); }); - - it('invokes listOrganizationEvents without error using callback', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListOrganizationEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListOrganizationEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationEvent()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationEvent()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationEvent()), - ]; - client.innerApiCalls.listOrganizationEvents = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listOrganizationEvents( - request, - (err?: Error|null, result?: protos.google.cloud.servicehealth.v1.IOrganizationEvent[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listOrganizationEvents as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listOrganizationEvents as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + stream.on('error', (err: Error) => { + reject(err); }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + ( + client.descriptors.page.listOrganizationEvents + .createStream as SinonStub + ) + .getCall(0) + .calledWith(client.innerApiCalls.listOrganizationEvents, request), + ); + assert( + ( + client.descriptors.page.listOrganizationEvents + .createStream as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); - it('invokes listOrganizationEvents with error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListOrganizationEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListOrganizationEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listOrganizationEvents = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listOrganizationEvents(request), expectedError); - const actualRequest = (client.innerApiCalls.listOrganizationEvents as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listOrganizationEvents as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + it('invokes listOrganizationEventsStream with error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListOrganizationEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListOrganizationEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listOrganizationEvents.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listOrganizationEventsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicehealth.v1.OrganizationEvent[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.servicehealth.v1.OrganizationEvent, + ) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); }); - - it('invokes listOrganizationEventsStream without error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListOrganizationEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListOrganizationEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationEvent()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationEvent()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationEvent()), - ]; - client.descriptors.page.listOrganizationEvents.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listOrganizationEventsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicehealth.v1.OrganizationEvent[] = []; - stream.on('data', (response: protos.google.cloud.servicehealth.v1.OrganizationEvent) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - const responses = await promise; - assert.deepStrictEqual(responses, expectedResponse); - assert((client.descriptors.page.listOrganizationEvents.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listOrganizationEvents, request)); - assert( - (client.descriptors.page.listOrganizationEvents.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); + stream.on('error', (err: Error) => { + reject(err); }); + }); + await assert.rejects(promise, expectedError); + assert( + ( + client.descriptors.page.listOrganizationEvents + .createStream as SinonStub + ) + .getCall(0) + .calledWith(client.innerApiCalls.listOrganizationEvents, request), + ); + assert( + ( + client.descriptors.page.listOrganizationEvents + .createStream as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); - it('invokes listOrganizationEventsStream with error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListOrganizationEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListOrganizationEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listOrganizationEvents.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listOrganizationEventsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicehealth.v1.OrganizationEvent[] = []; - stream.on('data', (response: protos.google.cloud.servicehealth.v1.OrganizationEvent) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listOrganizationEvents.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listOrganizationEvents, request)); - assert( - (client.descriptors.page.listOrganizationEvents.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('uses async iteration with listOrganizationEvents without error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListOrganizationEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListOrganizationEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationEvent(), + ), + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationEvent(), + ), + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationEvent(), + ), + ]; + client.descriptors.page.listOrganizationEvents.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.servicehealth.v1.IOrganizationEvent[] = + []; + const iterable = client.listOrganizationEventsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listOrganizationEvents + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.descriptors.page.listOrganizationEvents + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); - it('uses async iteration with listOrganizationEvents without error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListOrganizationEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListOrganizationEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationEvent()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationEvent()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationEvent()), - ]; - client.descriptors.page.listOrganizationEvents.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.servicehealth.v1.IOrganizationEvent[] = []; - const iterable = client.listOrganizationEventsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listOrganizationEvents.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listOrganizationEvents.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('uses async iteration with listOrganizationEvents with error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListOrganizationEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListOrganizationEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listOrganizationEvents.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listOrganizationEventsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.servicehealth.v1.IOrganizationEvent[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listOrganizationEvents + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.descriptors.page.listOrganizationEvents + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + }); + + describe('listOrganizationImpacts', () => { + it('invokes listOrganizationImpacts without error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationImpact(), + ), + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationImpact(), + ), + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationImpact(), + ), + ]; + client.innerApiCalls.listOrganizationImpacts = + stubSimpleCall(expectedResponse); + const [response] = await client.listOrganizationImpacts(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listOrganizationImpacts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listOrganizationImpacts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('uses async iteration with listOrganizationEvents with error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListOrganizationEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListOrganizationEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listOrganizationEvents.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listOrganizationEventsAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.servicehealth.v1.IOrganizationEvent[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listOrganizationEvents.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listOrganizationEvents.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('invokes listOrganizationImpacts without error using callback', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationImpact(), + ), + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationImpact(), + ), + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationImpact(), + ), + ]; + client.innerApiCalls.listOrganizationImpacts = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listOrganizationImpacts( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.servicehealth.v1.IOrganizationImpact[] + | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listOrganizationImpacts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listOrganizationImpacts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('listOrganizationImpacts', () => { - it('invokes listOrganizationImpacts without error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationImpact()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationImpact()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationImpact()), - ]; - client.innerApiCalls.listOrganizationImpacts = stubSimpleCall(expectedResponse); - const [response] = await client.listOrganizationImpacts(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listOrganizationImpacts as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listOrganizationImpacts as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes listOrganizationImpacts with error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listOrganizationImpacts = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.listOrganizationImpacts(request), + expectedError, + ); + const actualRequest = ( + client.innerApiCalls.listOrganizationImpacts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listOrganizationImpacts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes listOrganizationImpacts without error using callback', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationImpact()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationImpact()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationImpact()), - ]; - client.innerApiCalls.listOrganizationImpacts = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listOrganizationImpacts( - request, - (err?: Error|null, result?: protos.google.cloud.servicehealth.v1.IOrganizationImpact[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listOrganizationImpacts as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listOrganizationImpacts as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + it('invokes listOrganizationImpactsStream without error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationImpact(), + ), + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationImpact(), + ), + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationImpact(), + ), + ]; + client.descriptors.page.listOrganizationImpacts.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listOrganizationImpactsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicehealth.v1.OrganizationImpact[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.servicehealth.v1.OrganizationImpact, + ) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); }); - - it('invokes listOrganizationImpacts with error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listOrganizationImpacts = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listOrganizationImpacts(request), expectedError); - const actualRequest = (client.innerApiCalls.listOrganizationImpacts as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listOrganizationImpacts as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + stream.on('error', (err: Error) => { + reject(err); }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + ( + client.descriptors.page.listOrganizationImpacts + .createStream as SinonStub + ) + .getCall(0) + .calledWith(client.innerApiCalls.listOrganizationImpacts, request), + ); + assert( + ( + client.descriptors.page.listOrganizationImpacts + .createStream as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); - it('invokes listOrganizationImpactsStream without error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationImpact()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationImpact()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationImpact()), - ]; - client.descriptors.page.listOrganizationImpacts.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listOrganizationImpactsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicehealth.v1.OrganizationImpact[] = []; - stream.on('data', (response: protos.google.cloud.servicehealth.v1.OrganizationImpact) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - const responses = await promise; - assert.deepStrictEqual(responses, expectedResponse); - assert((client.descriptors.page.listOrganizationImpacts.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listOrganizationImpacts, request)); - assert( - (client.descriptors.page.listOrganizationImpacts.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); + it('invokes listOrganizationImpactsStream with error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listOrganizationImpacts.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listOrganizationImpactsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.servicehealth.v1.OrganizationImpact[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.servicehealth.v1.OrganizationImpact, + ) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); }); - - it('invokes listOrganizationImpactsStream with error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listOrganizationImpacts.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listOrganizationImpactsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.servicehealth.v1.OrganizationImpact[] = []; - stream.on('data', (response: protos.google.cloud.servicehealth.v1.OrganizationImpact) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listOrganizationImpacts.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listOrganizationImpacts, request)); - assert( - (client.descriptors.page.listOrganizationImpacts.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); + stream.on('error', (err: Error) => { + reject(err); }); + }); + await assert.rejects(promise, expectedError); + assert( + ( + client.descriptors.page.listOrganizationImpacts + .createStream as SinonStub + ) + .getCall(0) + .calledWith(client.innerApiCalls.listOrganizationImpacts, request), + ); + assert( + ( + client.descriptors.page.listOrganizationImpacts + .createStream as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); - it('uses async iteration with listOrganizationImpacts without error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationImpact()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationImpact()), - generateSampleMessage(new protos.google.cloud.servicehealth.v1.OrganizationImpact()), - ]; - client.descriptors.page.listOrganizationImpacts.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.servicehealth.v1.IOrganizationImpact[] = []; - const iterable = client.listOrganizationImpactsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listOrganizationImpacts.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listOrganizationImpacts.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('uses async iteration with listOrganizationImpacts without error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationImpact(), + ), + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationImpact(), + ), + generateSampleMessage( + new protos.google.cloud.servicehealth.v1.OrganizationImpact(), + ), + ]; + client.descriptors.page.listOrganizationImpacts.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.servicehealth.v1.IOrganizationImpact[] = + []; + const iterable = client.listOrganizationImpactsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listOrganizationImpacts + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.descriptors.page.listOrganizationImpacts + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); - it('uses async iteration with listOrganizationImpacts with error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listOrganizationImpacts.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listOrganizationImpactsAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.servicehealth.v1.IOrganizationImpact[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listOrganizationImpacts.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listOrganizationImpacts.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('uses async iteration with listOrganizationImpacts with error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.servicehealth.v1.ListOrganizationImpactsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listOrganizationImpacts.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listOrganizationImpactsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.servicehealth.v1.IOrganizationImpact[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listOrganizationImpacts + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.descriptors.page.listOrganizationImpacts + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); }); - describe('getLocation', () => { - it('invokes getLocation without error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = stubSimpleCall(expectedResponse); - const response = await client.getLocation(request, expectedOptions); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - it('invokes getLocation without error using callback', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getLocation( - request, - expectedOptions, - ( - err?: Error | null, - result?: LocationProtos.google.cloud.location.ILocation | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0)); - }); - it('invokes getLocation with error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getLocation(request, expectedOptions), expectedError); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); + }); + describe('getLocation', () => { + it('invokes getLocation without error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = stubSimpleCall(expectedResponse); + const response = await client.getLocation(request, expectedOptions); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); }); - describe('listLocationsAsync', () => { - it('uses async iteration with listLocations without error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedResponse = [ - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - ]; - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - const iterable = client.listLocationsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + it('invokes getLocation without error using callback', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getLocation( + request, + expectedOptions, + ( + err?: Error | null, + result?: LocationProtos.google.cloud.location.ILocation | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - it('uses async iteration with listLocations with error', async () => { - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedError = new Error('expected'); - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listLocationsAsync(request); - await assert.rejects(async () => { - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.locationsClient.getLocation as SinonStub).getCall(0)); + }); + it('invokes getLocation with error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.locationsClient.getLocation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.getLocation(request, expectedOptions), + expectedError, + ); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); + }); + }); + describe('listLocationsAsync', () => { + it('uses async iteration with listLocations without error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedResponse = [ + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + ]; + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + const iterable = client.listLocationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + it('uses async iteration with listLocations with error', async () => { + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('expected'); + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listLocationsAsync(request); + await assert.rejects(async () => { + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + }); + + describe('Path templates', () => { + describe('event', async () => { + const fakePath = '/rendered/path/event'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + event: 'eventValue', + }; + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.eventPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.eventPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('eventPath', () => { + const result = client.eventPath( + 'projectValue', + 'locationValue', + 'eventValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.eventPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromEventName', () => { + const result = client.matchProjectFromEventName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.eventPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromEventName', () => { + const result = client.matchLocationFromEventName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.eventPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchEventFromEventName', () => { + const result = client.matchEventFromEventName(fakePath); + assert.strictEqual(result, 'eventValue'); + assert( + (client.pathTemplates.eventPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); }); - describe('Path templates', () => { - - describe('event', async () => { - const fakePath = "/rendered/path/event"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - event: "eventValue", - }; - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.eventPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.eventPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('eventPath', () => { - const result = client.eventPath("projectValue", "locationValue", "eventValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.eventPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromEventName', () => { - const result = client.matchProjectFromEventName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.eventPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromEventName', () => { - const result = client.matchLocationFromEventName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.eventPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchEventFromEventName', () => { - const result = client.matchEventFromEventName(fakePath); - assert.strictEqual(result, "eventValue"); - assert((client.pathTemplates.eventPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('organizationEvent', async () => { - const fakePath = "/rendered/path/organizationEvent"; - const expectedParameters = { - organization: "organizationValue", - location: "locationValue", - event: "eventValue", - }; - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.organizationEventPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.organizationEventPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('organizationEventPath', () => { - const result = client.organizationEventPath("organizationValue", "locationValue", "eventValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.organizationEventPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchOrganizationFromOrganizationEventName', () => { - const result = client.matchOrganizationFromOrganizationEventName(fakePath); - assert.strictEqual(result, "organizationValue"); - assert((client.pathTemplates.organizationEventPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromOrganizationEventName', () => { - const result = client.matchLocationFromOrganizationEventName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.organizationEventPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchEventFromOrganizationEventName', () => { - const result = client.matchEventFromOrganizationEventName(fakePath); - assert.strictEqual(result, "eventValue"); - assert((client.pathTemplates.organizationEventPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + describe('organizationEvent', async () => { + const fakePath = '/rendered/path/organizationEvent'; + const expectedParameters = { + organization: 'organizationValue', + location: 'locationValue', + event: 'eventValue', + }; + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.organizationEventPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.organizationEventPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('organizationEventPath', () => { + const result = client.organizationEventPath( + 'organizationValue', + 'locationValue', + 'eventValue', + ); + assert.strictEqual(result, fakePath); + assert( + ( + client.pathTemplates.organizationEventPathTemplate + .render as SinonStub + ) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchOrganizationFromOrganizationEventName', () => { + const result = + client.matchOrganizationFromOrganizationEventName(fakePath); + assert.strictEqual(result, 'organizationValue'); + assert( + ( + client.pathTemplates.organizationEventPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromOrganizationEventName', () => { + const result = client.matchLocationFromOrganizationEventName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + ( + client.pathTemplates.organizationEventPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchEventFromOrganizationEventName', () => { + const result = client.matchEventFromOrganizationEventName(fakePath); + assert.strictEqual(result, 'eventValue'); + assert( + ( + client.pathTemplates.organizationEventPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - describe('organizationImpact', async () => { - const fakePath = "/rendered/path/organizationImpact"; - const expectedParameters = { - organization: "organizationValue", - location: "locationValue", - organization_impact: "organizationImpactValue", - }; - const client = new servicehealthModule.v1.ServiceHealthClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.organizationImpactPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.organizationImpactPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('organizationImpactPath', () => { - const result = client.organizationImpactPath("organizationValue", "locationValue", "organizationImpactValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.organizationImpactPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchOrganizationFromOrganizationImpactName', () => { - const result = client.matchOrganizationFromOrganizationImpactName(fakePath); - assert.strictEqual(result, "organizationValue"); - assert((client.pathTemplates.organizationImpactPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromOrganizationImpactName', () => { - const result = client.matchLocationFromOrganizationImpactName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.organizationImpactPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchOrganizationImpactFromOrganizationImpactName', () => { - const result = client.matchOrganizationImpactFromOrganizationImpactName(fakePath); - assert.strictEqual(result, "organizationImpactValue"); - assert((client.pathTemplates.organizationImpactPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + describe('organizationImpact', async () => { + const fakePath = '/rendered/path/organizationImpact'; + const expectedParameters = { + organization: 'organizationValue', + location: 'locationValue', + organization_impact: 'organizationImpactValue', + }; + const client = new servicehealthModule.v1.ServiceHealthClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.organizationImpactPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.organizationImpactPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('organizationImpactPath', () => { + const result = client.organizationImpactPath( + 'organizationValue', + 'locationValue', + 'organizationImpactValue', + ); + assert.strictEqual(result, fakePath); + assert( + ( + client.pathTemplates.organizationImpactPathTemplate + .render as SinonStub + ) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchOrganizationFromOrganizationImpactName', () => { + const result = + client.matchOrganizationFromOrganizationImpactName(fakePath); + assert.strictEqual(result, 'organizationValue'); + assert( + ( + client.pathTemplates.organizationImpactPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromOrganizationImpactName', () => { + const result = client.matchLocationFromOrganizationImpactName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + ( + client.pathTemplates.organizationImpactPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchOrganizationImpactFromOrganizationImpactName', () => { + const result = + client.matchOrganizationImpactFromOrganizationImpactName(fakePath); + assert.strictEqual(result, 'organizationImpactValue'); + assert( + ( + client.pathTemplates.organizationImpactPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); }); + }); }); diff --git a/packages/google-cloud-servicehealth/webpack.config.js b/packages/google-cloud-servicehealth/webpack.config.js index 0986446dc566..0276ebf5584c 100644 --- a/packages/google-cloud-servicehealth/webpack.config.js +++ b/packages/google-cloud-servicehealth/webpack.config.js @@ -1,4 +1,4 @@ -// Copyright 2026 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-shell/README.md b/packages/google-cloud-shell/README.md index 7519ba9eb116..cffc0b9f8b3c 100644 --- a/packages/google-cloud-shell/README.md +++ b/packages/google-cloud-shell/README.md @@ -63,7 +63,6 @@ Samples are in the [`samples/`][homepage_samples] directory. Each sample's `READ | get environment | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-shell/samples/generated/v1/cloud_shell_service.get_environment.js) | | remove public key | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-shell/samples/generated/v1/cloud_shell_service.remove_public_key.js) | | start environment | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-shell/samples/generated/v1/cloud_shell_service.start_environment.js) | -| cloud | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-shell/samples/generated/v1/snippet_metadata_google.cloud.shell.v1.json) | ## Supported Node.js Versions @@ -97,7 +96,7 @@ More Information: [Google Cloud Platform Launch Stages][launch_stages] ## Contributing -Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-shell/CONTRIBUTING.md). +Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/main/CONTRIBUTING.md). Please note that this `README.md` and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`) @@ -107,7 +106,7 @@ are generated from a central template. Apache Version 2.0 -See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-shell/LICENSE) +See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/LICENSE) [shell_img]: https://gstatic.com/cloudssh/images/open-btn.png [projects]: https://console.cloud.google.com/project diff --git a/packages/google-cloud-shell/protos/protos.d.ts b/packages/google-cloud-shell/protos/protos.d.ts index 609a671e6fc4..13a27ba516b1 100644 --- a/packages/google-cloud-shell/protos/protos.d.ts +++ b/packages/google-cloud-shell/protos/protos.d.ts @@ -2263,6 +2263,9 @@ export namespace google { /** CommonLanguageSettings destinations */ destinations?: (google.api.ClientLibraryDestination[]|null); + + /** CommonLanguageSettings selectiveGapicGeneration */ + selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null); } /** Represents a CommonLanguageSettings. */ @@ -2280,6 +2283,9 @@ export namespace google { /** CommonLanguageSettings destinations. */ public destinations: google.api.ClientLibraryDestination[]; + /** CommonLanguageSettings selectiveGapicGeneration. */ + public selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null); + /** * Creates a new CommonLanguageSettings instance using the specified properties. * @param [properties] Properties to set @@ -2980,6 +2986,9 @@ export namespace google { /** PythonSettings common */ common?: (google.api.ICommonLanguageSettings|null); + + /** PythonSettings experimentalFeatures */ + experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|null); } /** Represents a PythonSettings. */ @@ -2994,6 +3003,9 @@ export namespace google { /** PythonSettings common. */ public common?: (google.api.ICommonLanguageSettings|null); + /** PythonSettings experimentalFeatures. */ + public experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|null); + /** * Creates a new PythonSettings instance using the specified properties. * @param [properties] Properties to set @@ -3072,6 +3084,118 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } + namespace PythonSettings { + + /** Properties of an ExperimentalFeatures. */ + interface IExperimentalFeatures { + + /** ExperimentalFeatures restAsyncIoEnabled */ + restAsyncIoEnabled?: (boolean|null); + + /** ExperimentalFeatures protobufPythonicTypesEnabled */ + protobufPythonicTypesEnabled?: (boolean|null); + + /** ExperimentalFeatures unversionedPackageDisabled */ + unversionedPackageDisabled?: (boolean|null); + } + + /** Represents an ExperimentalFeatures. */ + class ExperimentalFeatures implements IExperimentalFeatures { + + /** + * Constructs a new ExperimentalFeatures. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.PythonSettings.IExperimentalFeatures); + + /** ExperimentalFeatures restAsyncIoEnabled. */ + public restAsyncIoEnabled: boolean; + + /** ExperimentalFeatures protobufPythonicTypesEnabled. */ + public protobufPythonicTypesEnabled: boolean; + + /** ExperimentalFeatures unversionedPackageDisabled. */ + public unversionedPackageDisabled: boolean; + + /** + * Creates a new ExperimentalFeatures instance using the specified properties. + * @param [properties] Properties to set + * @returns ExperimentalFeatures instance + */ + public static create(properties?: google.api.PythonSettings.IExperimentalFeatures): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Encodes the specified ExperimentalFeatures message. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @param message ExperimentalFeatures message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExperimentalFeatures message, length delimited. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @param message ExperimentalFeatures message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Verifies an ExperimentalFeatures message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ExperimentalFeatures message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExperimentalFeatures + */ + public static fromObject(object: { [k: string]: any }): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Creates a plain object from an ExperimentalFeatures message. Also converts values to other types if specified. + * @param message ExperimentalFeatures + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.PythonSettings.ExperimentalFeatures, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExperimentalFeatures to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExperimentalFeatures + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + /** Properties of a NodeSettings. */ interface INodeSettings { @@ -3398,6 +3522,9 @@ export namespace google { /** GoSettings common */ common?: (google.api.ICommonLanguageSettings|null); + + /** GoSettings renamedServices */ + renamedServices?: ({ [k: string]: string }|null); } /** Represents a GoSettings. */ @@ -3412,6 +3539,9 @@ export namespace google { /** GoSettings common. */ public common?: (google.api.ICommonLanguageSettings|null); + /** GoSettings renamedServices. */ + public renamedServices: { [k: string]: string }; + /** * Creates a new GoSettings instance using the specified properties. * @param [properties] Properties to set @@ -3736,6 +3866,109 @@ export namespace google { PACKAGE_MANAGER = 20 } + /** Properties of a SelectiveGapicGeneration. */ + interface ISelectiveGapicGeneration { + + /** SelectiveGapicGeneration methods */ + methods?: (string[]|null); + + /** SelectiveGapicGeneration generateOmittedAsInternal */ + generateOmittedAsInternal?: (boolean|null); + } + + /** Represents a SelectiveGapicGeneration. */ + class SelectiveGapicGeneration implements ISelectiveGapicGeneration { + + /** + * Constructs a new SelectiveGapicGeneration. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.ISelectiveGapicGeneration); + + /** SelectiveGapicGeneration methods. */ + public methods: string[]; + + /** SelectiveGapicGeneration generateOmittedAsInternal. */ + public generateOmittedAsInternal: boolean; + + /** + * Creates a new SelectiveGapicGeneration instance using the specified properties. + * @param [properties] Properties to set + * @returns SelectiveGapicGeneration instance + */ + public static create(properties?: google.api.ISelectiveGapicGeneration): google.api.SelectiveGapicGeneration; + + /** + * Encodes the specified SelectiveGapicGeneration message. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @param message SelectiveGapicGeneration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SelectiveGapicGeneration message, length delimited. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @param message SelectiveGapicGeneration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.SelectiveGapicGeneration; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.SelectiveGapicGeneration; + + /** + * Verifies a SelectiveGapicGeneration message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SelectiveGapicGeneration message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SelectiveGapicGeneration + */ + public static fromObject(object: { [k: string]: any }): google.api.SelectiveGapicGeneration; + + /** + * Creates a plain object from a SelectiveGapicGeneration message. Also converts values to other types if specified. + * @param message SelectiveGapicGeneration + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.SelectiveGapicGeneration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SelectiveGapicGeneration to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SelectiveGapicGeneration + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + /** LaunchStage enum. */ enum LaunchStage { LAUNCH_STAGE_UNSPECIFIED = 0, @@ -4117,6 +4350,7 @@ export namespace google { /** Edition enum. */ enum Edition { EDITION_UNKNOWN = 0, + EDITION_LEGACY = 900, EDITION_PROTO2 = 998, EDITION_PROTO3 = 999, EDITION_2023 = 1000, @@ -4147,6 +4381,9 @@ export namespace google { /** FileDescriptorProto weakDependency */ weakDependency?: (number[]|null); + /** FileDescriptorProto optionDependency */ + optionDependency?: (string[]|null); + /** FileDescriptorProto messageType */ messageType?: (google.protobuf.IDescriptorProto[]|null); @@ -4196,6 +4433,9 @@ export namespace google { /** FileDescriptorProto weakDependency. */ public weakDependency: number[]; + /** FileDescriptorProto optionDependency. */ + public optionDependency: string[]; + /** FileDescriptorProto messageType. */ public messageType: google.protobuf.IDescriptorProto[]; @@ -4330,6 +4570,9 @@ export namespace google { /** DescriptorProto reservedName */ reservedName?: (string[]|null); + + /** DescriptorProto visibility */ + visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|null); } /** Represents a DescriptorProto. */ @@ -4371,6 +4614,9 @@ export namespace google { /** DescriptorProto reservedName. */ public reservedName: string[]; + /** DescriptorProto visibility. */ + public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility); + /** * Creates a new DescriptorProto instance using the specified properties. * @param [properties] Properties to set @@ -5218,6 +5464,9 @@ export namespace google { /** EnumDescriptorProto reservedName */ reservedName?: (string[]|null); + + /** EnumDescriptorProto visibility */ + visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|null); } /** Represents an EnumDescriptorProto. */ @@ -5244,6 +5493,9 @@ export namespace google { /** EnumDescriptorProto reservedName. */ public reservedName: string[]; + /** EnumDescriptorProto visibility. */ + public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility); + /** * Creates a new EnumDescriptorProto instance using the specified properties. * @param [properties] Properties to set @@ -6178,6 +6430,9 @@ export namespace google { /** FieldOptions features */ features?: (google.protobuf.IFeatureSet|null); + /** FieldOptions featureSupport */ + featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + /** FieldOptions uninterpretedOption */ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); @@ -6233,6 +6488,9 @@ export namespace google { /** FieldOptions features. */ public features?: (google.protobuf.IFeatureSet|null); + /** FieldOptions featureSupport. */ + public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + /** FieldOptions uninterpretedOption. */ public uninterpretedOption: google.protobuf.IUninterpretedOption[]; @@ -6453,6 +6711,121 @@ export namespace google { */ public static getTypeUrl(typeUrlPrefix?: string): string; } + + /** Properties of a FeatureSupport. */ + interface IFeatureSupport { + + /** FeatureSupport editionIntroduced */ + editionIntroduced?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + + /** FeatureSupport editionDeprecated */ + editionDeprecated?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + + /** FeatureSupport deprecationWarning */ + deprecationWarning?: (string|null); + + /** FeatureSupport editionRemoved */ + editionRemoved?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + } + + /** Represents a FeatureSupport. */ + class FeatureSupport implements IFeatureSupport { + + /** + * Constructs a new FeatureSupport. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.FieldOptions.IFeatureSupport); + + /** FeatureSupport editionIntroduced. */ + public editionIntroduced: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** FeatureSupport editionDeprecated. */ + public editionDeprecated: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** FeatureSupport deprecationWarning. */ + public deprecationWarning: string; + + /** FeatureSupport editionRemoved. */ + public editionRemoved: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** + * Creates a new FeatureSupport instance using the specified properties. + * @param [properties] Properties to set + * @returns FeatureSupport instance + */ + public static create(properties?: google.protobuf.FieldOptions.IFeatureSupport): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Encodes the specified FeatureSupport message. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @param message FeatureSupport message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FeatureSupport message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @param message FeatureSupport message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Verifies a FeatureSupport message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FeatureSupport message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FeatureSupport + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Creates a plain object from a FeatureSupport message. Also converts values to other types if specified. + * @param message FeatureSupport + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldOptions.FeatureSupport, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FeatureSupport to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FeatureSupport + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } } /** Properties of an OneofOptions. */ @@ -6691,6 +7064,9 @@ export namespace google { /** EnumValueOptions debugRedact */ debugRedact?: (boolean|null); + /** EnumValueOptions featureSupport */ + featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + /** EnumValueOptions uninterpretedOption */ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); } @@ -6713,6 +7089,9 @@ export namespace google { /** EnumValueOptions debugRedact. */ public debugRedact: boolean; + /** EnumValueOptions featureSupport. */ + public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + /** EnumValueOptions uninterpretedOption. */ public uninterpretedOption: google.protobuf.IUninterpretedOption[]; @@ -7305,6 +7684,12 @@ export namespace google { /** FeatureSet jsonFormat */ jsonFormat?: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat|null); + + /** FeatureSet enforceNamingStyle */ + enforceNamingStyle?: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle|null); + + /** FeatureSet defaultSymbolVisibility */ + defaultSymbolVisibility?: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|null); } /** Represents a FeatureSet. */ @@ -7334,6 +7719,12 @@ export namespace google { /** FeatureSet jsonFormat. */ public jsonFormat: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat); + /** FeatureSet enforceNamingStyle. */ + public enforceNamingStyle: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle); + + /** FeatureSet defaultSymbolVisibility. */ + public defaultSymbolVisibility: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility); + /** * Creates a new FeatureSet instance using the specified properties. * @param [properties] Properties to set @@ -7456,6 +7847,116 @@ export namespace google { ALLOW = 1, LEGACY_BEST_EFFORT = 2 } + + /** EnforceNamingStyle enum. */ + enum EnforceNamingStyle { + ENFORCE_NAMING_STYLE_UNKNOWN = 0, + STYLE2024 = 1, + STYLE_LEGACY = 2 + } + + /** Properties of a VisibilityFeature. */ + interface IVisibilityFeature { + } + + /** Represents a VisibilityFeature. */ + class VisibilityFeature implements IVisibilityFeature { + + /** + * Constructs a new VisibilityFeature. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.FeatureSet.IVisibilityFeature); + + /** + * Creates a new VisibilityFeature instance using the specified properties. + * @param [properties] Properties to set + * @returns VisibilityFeature instance + */ + public static create(properties?: google.protobuf.FeatureSet.IVisibilityFeature): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Encodes the specified VisibilityFeature message. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @param message VisibilityFeature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VisibilityFeature message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @param message VisibilityFeature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Verifies a VisibilityFeature message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VisibilityFeature message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VisibilityFeature + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Creates a plain object from a VisibilityFeature message. Also converts values to other types if specified. + * @param message VisibilityFeature + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FeatureSet.VisibilityFeature, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VisibilityFeature to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VisibilityFeature + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace VisibilityFeature { + + /** DefaultSymbolVisibility enum. */ + enum DefaultSymbolVisibility { + DEFAULT_SYMBOL_VISIBILITY_UNKNOWN = 0, + EXPORT_ALL = 1, + EXPORT_TOP_LEVEL = 2, + LOCAL_ALL = 3, + STRICT = 4 + } + } } /** Properties of a FeatureSetDefaults. */ @@ -7575,8 +8076,11 @@ export namespace google { /** FeatureSetEditionDefault edition */ edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); - /** FeatureSetEditionDefault features */ - features?: (google.protobuf.IFeatureSet|null); + /** FeatureSetEditionDefault overridableFeatures */ + overridableFeatures?: (google.protobuf.IFeatureSet|null); + + /** FeatureSetEditionDefault fixedFeatures */ + fixedFeatures?: (google.protobuf.IFeatureSet|null); } /** Represents a FeatureSetEditionDefault. */ @@ -7591,8 +8095,11 @@ export namespace google { /** FeatureSetEditionDefault edition. */ public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); - /** FeatureSetEditionDefault features. */ - public features?: (google.protobuf.IFeatureSet|null); + /** FeatureSetEditionDefault overridableFeatures. */ + public overridableFeatures?: (google.protobuf.IFeatureSet|null); + + /** FeatureSetEditionDefault fixedFeatures. */ + public fixedFeatures?: (google.protobuf.IFeatureSet|null); /** * Creates a new FeatureSetEditionDefault instance using the specified properties. @@ -8125,6 +8632,13 @@ export namespace google { } } + /** SymbolVisibility enum. */ + enum SymbolVisibility { + VISIBILITY_UNSET = 0, + VISIBILITY_LOCAL = 1, + VISIBILITY_EXPORT = 2 + } + /** Properties of a Duration. */ interface IDuration { diff --git a/packages/google-cloud-shell/protos/protos.js b/packages/google-cloud-shell/protos/protos.js index 396a2d47d353..7c0827523adb 100644 --- a/packages/google-cloud-shell/protos/protos.js +++ b/packages/google-cloud-shell/protos/protos.js @@ -295,7 +295,7 @@ this.publicKeys = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -441,9 +441,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Environment.decode = function decode(reader, length, error) { + Environment.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.Environment(); while (reader.pos < end) { var tag = reader.uint32(); @@ -489,7 +493,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -520,9 +524,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Environment.verify = function verify(message) { + Environment.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -573,9 +581,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.Environment} Environment */ - Environment.fromObject = function fromObject(object) { + Environment.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.Environment) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.shell.v1.Environment(); if (object.name != null) message.name = String(object.name); @@ -747,7 +759,7 @@ function GetEnvironmentRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -812,9 +824,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetEnvironmentRequest.decode = function decode(reader, length, error) { + GetEnvironmentRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.GetEnvironmentRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -826,7 +842,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -857,9 +873,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetEnvironmentRequest.verify = function verify(message) { + GetEnvironmentRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -874,9 +894,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.GetEnvironmentRequest} GetEnvironmentRequest */ - GetEnvironmentRequest.fromObject = function fromObject(object) { + GetEnvironmentRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.GetEnvironmentRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.shell.v1.GetEnvironmentRequest(); if (object.name != null) message.name = String(object.name); @@ -951,7 +975,7 @@ function CreateEnvironmentMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1006,9 +1030,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateEnvironmentMetadata.decode = function decode(reader, length, error) { + CreateEnvironmentMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.CreateEnvironmentMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -1016,7 +1044,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1047,9 +1075,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateEnvironmentMetadata.verify = function verify(message) { + CreateEnvironmentMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -1061,9 +1093,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.CreateEnvironmentMetadata} CreateEnvironmentMetadata */ - CreateEnvironmentMetadata.fromObject = function fromObject(object) { + CreateEnvironmentMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.CreateEnvironmentMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.shell.v1.CreateEnvironmentMetadata(); }; @@ -1128,7 +1164,7 @@ function DeleteEnvironmentMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1183,9 +1219,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteEnvironmentMetadata.decode = function decode(reader, length, error) { + DeleteEnvironmentMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.DeleteEnvironmentMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -1193,7 +1233,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1224,9 +1264,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteEnvironmentMetadata.verify = function verify(message) { + DeleteEnvironmentMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -1238,9 +1282,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.DeleteEnvironmentMetadata} DeleteEnvironmentMetadata */ - DeleteEnvironmentMetadata.fromObject = function fromObject(object) { + DeleteEnvironmentMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.DeleteEnvironmentMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.shell.v1.DeleteEnvironmentMetadata(); }; @@ -1309,7 +1357,7 @@ this.publicKeys = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1395,9 +1443,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StartEnvironmentRequest.decode = function decode(reader, length, error) { + StartEnvironmentRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.StartEnvironmentRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -1419,7 +1471,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1450,9 +1502,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StartEnvironmentRequest.verify = function verify(message) { + StartEnvironmentRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -1477,9 +1533,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.StartEnvironmentRequest} StartEnvironmentRequest */ - StartEnvironmentRequest.fromObject = function fromObject(object) { + StartEnvironmentRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.StartEnvironmentRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.shell.v1.StartEnvironmentRequest(); if (object.name != null) message.name = String(object.name); @@ -1578,7 +1638,7 @@ function AuthorizeEnvironmentRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1673,9 +1733,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuthorizeEnvironmentRequest.decode = function decode(reader, length, error) { + AuthorizeEnvironmentRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.AuthorizeEnvironmentRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -1695,11 +1759,11 @@ break; } case 3: { - message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1730,9 +1794,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AuthorizeEnvironmentRequest.verify = function verify(message) { + AuthorizeEnvironmentRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -1743,7 +1811,7 @@ if (!$util.isString(message.idToken)) return "idToken: string expected"; if (message.expireTime != null && message.hasOwnProperty("expireTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.expireTime); + var error = $root.google.protobuf.Timestamp.verify(message.expireTime, long + 1); if (error) return "expireTime." + error; } @@ -1758,9 +1826,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.AuthorizeEnvironmentRequest} AuthorizeEnvironmentRequest */ - AuthorizeEnvironmentRequest.fromObject = function fromObject(object) { + AuthorizeEnvironmentRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.AuthorizeEnvironmentRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.shell.v1.AuthorizeEnvironmentRequest(); if (object.name != null) message.name = String(object.name); @@ -1771,7 +1843,7 @@ if (object.expireTime != null) { if (typeof object.expireTime !== "object") throw TypeError(".google.cloud.shell.v1.AuthorizeEnvironmentRequest.expireTime: object expected"); - message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime); + message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime, long + 1); } return message; }; @@ -1854,7 +1926,7 @@ function AuthorizeEnvironmentResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1909,9 +1981,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuthorizeEnvironmentResponse.decode = function decode(reader, length, error) { + AuthorizeEnvironmentResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.AuthorizeEnvironmentResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -1919,7 +1995,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1950,9 +2026,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AuthorizeEnvironmentResponse.verify = function verify(message) { + AuthorizeEnvironmentResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -1964,9 +2044,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.AuthorizeEnvironmentResponse} AuthorizeEnvironmentResponse */ - AuthorizeEnvironmentResponse.fromObject = function fromObject(object) { + AuthorizeEnvironmentResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.AuthorizeEnvironmentResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.shell.v1.AuthorizeEnvironmentResponse(); }; @@ -2031,7 +2115,7 @@ function AuthorizeEnvironmentMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2086,9 +2170,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuthorizeEnvironmentMetadata.decode = function decode(reader, length, error) { + AuthorizeEnvironmentMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.AuthorizeEnvironmentMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2096,7 +2184,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2127,9 +2215,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AuthorizeEnvironmentMetadata.verify = function verify(message) { + AuthorizeEnvironmentMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -2141,9 +2233,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.AuthorizeEnvironmentMetadata} AuthorizeEnvironmentMetadata */ - AuthorizeEnvironmentMetadata.fromObject = function fromObject(object) { + AuthorizeEnvironmentMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.AuthorizeEnvironmentMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.shell.v1.AuthorizeEnvironmentMetadata(); }; @@ -2209,7 +2305,7 @@ function StartEnvironmentMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2274,9 +2370,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StartEnvironmentMetadata.decode = function decode(reader, length, error) { + StartEnvironmentMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.StartEnvironmentMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2288,7 +2388,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2319,9 +2419,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StartEnvironmentMetadata.verify = function verify(message) { + StartEnvironmentMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.state != null && message.hasOwnProperty("state")) switch (message.state) { default: @@ -2344,9 +2448,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.StartEnvironmentMetadata} StartEnvironmentMetadata */ - StartEnvironmentMetadata.fromObject = function fromObject(object) { + StartEnvironmentMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.StartEnvironmentMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.shell.v1.StartEnvironmentMetadata(); switch (object.state) { default: @@ -2468,7 +2576,7 @@ function StartEnvironmentResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2533,9 +2641,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StartEnvironmentResponse.decode = function decode(reader, length, error) { + StartEnvironmentResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.StartEnvironmentResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2543,11 +2655,11 @@ break; switch (tag >>> 3) { case 1: { - message.environment = $root.google.cloud.shell.v1.Environment.decode(reader, reader.uint32()); + message.environment = $root.google.cloud.shell.v1.Environment.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2578,11 +2690,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StartEnvironmentResponse.verify = function verify(message) { + StartEnvironmentResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.environment != null && message.hasOwnProperty("environment")) { - var error = $root.google.cloud.shell.v1.Environment.verify(message.environment); + var error = $root.google.cloud.shell.v1.Environment.verify(message.environment, long + 1); if (error) return "environment." + error; } @@ -2597,14 +2713,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.StartEnvironmentResponse} StartEnvironmentResponse */ - StartEnvironmentResponse.fromObject = function fromObject(object) { + StartEnvironmentResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.StartEnvironmentResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.shell.v1.StartEnvironmentResponse(); if (object.environment != null) { if (typeof object.environment !== "object") throw TypeError(".google.cloud.shell.v1.StartEnvironmentResponse.environment: object expected"); - message.environment = $root.google.cloud.shell.v1.Environment.fromObject(object.environment); + message.environment = $root.google.cloud.shell.v1.Environment.fromObject(object.environment, long + 1); } return message; }; @@ -2679,7 +2799,7 @@ function AddPublicKeyRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2754,9 +2874,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AddPublicKeyRequest.decode = function decode(reader, length, error) { + AddPublicKeyRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.AddPublicKeyRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2772,7 +2896,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2803,9 +2927,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AddPublicKeyRequest.verify = function verify(message) { + AddPublicKeyRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.environment != null && message.hasOwnProperty("environment")) if (!$util.isString(message.environment)) return "environment: string expected"; @@ -2823,9 +2951,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.AddPublicKeyRequest} AddPublicKeyRequest */ - AddPublicKeyRequest.fromObject = function fromObject(object) { + AddPublicKeyRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.AddPublicKeyRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.shell.v1.AddPublicKeyRequest(); if (object.environment != null) message.environment = String(object.environment); @@ -2907,7 +3039,7 @@ function AddPublicKeyResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2972,9 +3104,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AddPublicKeyResponse.decode = function decode(reader, length, error) { + AddPublicKeyResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.AddPublicKeyResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2986,7 +3122,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3017,9 +3153,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AddPublicKeyResponse.verify = function verify(message) { + AddPublicKeyResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.key != null && message.hasOwnProperty("key")) if (!$util.isString(message.key)) return "key: string expected"; @@ -3034,9 +3174,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.AddPublicKeyResponse} AddPublicKeyResponse */ - AddPublicKeyResponse.fromObject = function fromObject(object) { + AddPublicKeyResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.AddPublicKeyResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.shell.v1.AddPublicKeyResponse(); if (object.key != null) message.key = String(object.key); @@ -3111,7 +3255,7 @@ function AddPublicKeyMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3166,9 +3310,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AddPublicKeyMetadata.decode = function decode(reader, length, error) { + AddPublicKeyMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.AddPublicKeyMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3176,7 +3324,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3207,9 +3355,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AddPublicKeyMetadata.verify = function verify(message) { + AddPublicKeyMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -3221,9 +3373,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.AddPublicKeyMetadata} AddPublicKeyMetadata */ - AddPublicKeyMetadata.fromObject = function fromObject(object) { + AddPublicKeyMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.AddPublicKeyMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.shell.v1.AddPublicKeyMetadata(); }; @@ -3290,7 +3446,7 @@ function RemovePublicKeyRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3365,9 +3521,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RemovePublicKeyRequest.decode = function decode(reader, length, error) { + RemovePublicKeyRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.RemovePublicKeyRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3383,7 +3543,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3414,9 +3574,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RemovePublicKeyRequest.verify = function verify(message) { + RemovePublicKeyRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.environment != null && message.hasOwnProperty("environment")) if (!$util.isString(message.environment)) return "environment: string expected"; @@ -3434,9 +3598,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.RemovePublicKeyRequest} RemovePublicKeyRequest */ - RemovePublicKeyRequest.fromObject = function fromObject(object) { + RemovePublicKeyRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.RemovePublicKeyRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.shell.v1.RemovePublicKeyRequest(); if (object.environment != null) message.environment = String(object.environment); @@ -3517,7 +3685,7 @@ function RemovePublicKeyResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3572,9 +3740,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RemovePublicKeyResponse.decode = function decode(reader, length, error) { + RemovePublicKeyResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.RemovePublicKeyResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3582,7 +3754,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3613,9 +3785,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RemovePublicKeyResponse.verify = function verify(message) { + RemovePublicKeyResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -3627,9 +3803,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.RemovePublicKeyResponse} RemovePublicKeyResponse */ - RemovePublicKeyResponse.fromObject = function fromObject(object) { + RemovePublicKeyResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.RemovePublicKeyResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.shell.v1.RemovePublicKeyResponse(); }; @@ -3694,7 +3874,7 @@ function RemovePublicKeyMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3749,9 +3929,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RemovePublicKeyMetadata.decode = function decode(reader, length, error) { + RemovePublicKeyMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.RemovePublicKeyMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3759,7 +3943,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3790,9 +3974,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RemovePublicKeyMetadata.verify = function verify(message) { + RemovePublicKeyMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -3804,9 +3992,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.RemovePublicKeyMetadata} RemovePublicKeyMetadata */ - RemovePublicKeyMetadata.fromObject = function fromObject(object) { + RemovePublicKeyMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.RemovePublicKeyMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.shell.v1.RemovePublicKeyMetadata(); }; @@ -3872,7 +4064,7 @@ function CloudShellErrorDetails(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3937,9 +4129,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CloudShellErrorDetails.decode = function decode(reader, length, error) { + CloudShellErrorDetails.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.shell.v1.CloudShellErrorDetails(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3951,7 +4147,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3982,9 +4178,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CloudShellErrorDetails.verify = function verify(message) { + CloudShellErrorDetails.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.code != null && message.hasOwnProperty("code")) switch (message.code) { default: @@ -4008,9 +4208,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.shell.v1.CloudShellErrorDetails} CloudShellErrorDetails */ - CloudShellErrorDetails.fromObject = function fromObject(object) { + CloudShellErrorDetails.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.shell.v1.CloudShellErrorDetails) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.shell.v1.CloudShellErrorDetails(); switch (object.code) { default: @@ -4158,7 +4362,7 @@ this.rules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4234,9 +4438,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Http.decode = function decode(reader, length, error) { + Http.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4246,7 +4454,7 @@ case 1: { if (!(message.rules && message.rules.length)) message.rules = []; - message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -4254,7 +4462,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4285,14 +4493,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Http.verify = function verify(message) { + Http.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.rules != null && message.hasOwnProperty("rules")) { if (!Array.isArray(message.rules)) return "rules: array expected"; for (var i = 0; i < message.rules.length; ++i) { - var error = $root.google.api.HttpRule.verify(message.rules[i]); + var error = $root.google.api.HttpRule.verify(message.rules[i], long + 1); if (error) return "rules." + error; } @@ -4311,9 +4523,13 @@ * @param {Object.} object Plain object * @returns {google.api.Http} Http */ - Http.fromObject = function fromObject(object) { + Http.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.Http) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.Http(); if (object.rules) { if (!Array.isArray(object.rules)) @@ -4322,7 +4538,7 @@ for (var i = 0; i < object.rules.length; ++i) { if (typeof object.rules[i] !== "object") throw TypeError(".google.api.Http.rules: object expected"); - message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i]); + message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i], long + 1); } } if (object.fullyDecodeReservedExpansion != null) @@ -4416,7 +4632,7 @@ this.additionalBindings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4586,9 +4802,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HttpRule.decode = function decode(reader, length, error) { + HttpRule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4620,7 +4840,7 @@ break; } case 8: { - message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32()); + message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -4634,11 +4854,11 @@ case 11: { if (!(message.additionalBindings && message.additionalBindings.length)) message.additionalBindings = []; - message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4669,9 +4889,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - HttpRule.verify = function verify(message) { + HttpRule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.selector != null && message.hasOwnProperty("selector")) if (!$util.isString(message.selector)) @@ -4714,7 +4938,7 @@ return "pattern: multiple values"; properties.pattern = 1; { - var error = $root.google.api.CustomHttpPattern.verify(message.custom); + var error = $root.google.api.CustomHttpPattern.verify(message.custom, long + 1); if (error) return "custom." + error; } @@ -4729,7 +4953,7 @@ if (!Array.isArray(message.additionalBindings)) return "additionalBindings: array expected"; for (var i = 0; i < message.additionalBindings.length; ++i) { - var error = $root.google.api.HttpRule.verify(message.additionalBindings[i]); + var error = $root.google.api.HttpRule.verify(message.additionalBindings[i], long + 1); if (error) return "additionalBindings." + error; } @@ -4745,9 +4969,13 @@ * @param {Object.} object Plain object * @returns {google.api.HttpRule} HttpRule */ - HttpRule.fromObject = function fromObject(object) { + HttpRule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.HttpRule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.HttpRule(); if (object.selector != null) message.selector = String(object.selector); @@ -4764,7 +4992,7 @@ if (object.custom != null) { if (typeof object.custom !== "object") throw TypeError(".google.api.HttpRule.custom: object expected"); - message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom); + message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom, long + 1); } if (object.body != null) message.body = String(object.body); @@ -4777,7 +5005,7 @@ for (var i = 0; i < object.additionalBindings.length; ++i) { if (typeof object.additionalBindings[i] !== "object") throw TypeError(".google.api.HttpRule.additionalBindings: object expected"); - message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i]); + message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i], long + 1); } } return message; @@ -4897,7 +5125,7 @@ function CustomHttpPattern(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4972,9 +5200,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomHttpPattern.decode = function decode(reader, length, error) { + CustomHttpPattern.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4990,7 +5222,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5021,9 +5253,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CustomHttpPattern.verify = function verify(message) { + CustomHttpPattern.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.kind != null && message.hasOwnProperty("kind")) if (!$util.isString(message.kind)) return "kind: string expected"; @@ -5041,9 +5277,13 @@ * @param {Object.} object Plain object * @returns {google.api.CustomHttpPattern} CustomHttpPattern */ - CustomHttpPattern.fromObject = function fromObject(object) { + CustomHttpPattern.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CustomHttpPattern) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CustomHttpPattern(); if (object.kind != null) message.kind = String(object.kind); @@ -5113,6 +5353,7 @@ * @interface ICommonLanguageSettings * @property {string|null} [referenceDocsUri] CommonLanguageSettings referenceDocsUri * @property {Array.|null} [destinations] CommonLanguageSettings destinations + * @property {google.api.ISelectiveGapicGeneration|null} [selectiveGapicGeneration] CommonLanguageSettings selectiveGapicGeneration */ /** @@ -5127,7 +5368,7 @@ this.destinations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5147,6 +5388,14 @@ */ CommonLanguageSettings.prototype.destinations = $util.emptyArray; + /** + * CommonLanguageSettings selectiveGapicGeneration. + * @member {google.api.ISelectiveGapicGeneration|null|undefined} selectiveGapicGeneration + * @memberof google.api.CommonLanguageSettings + * @instance + */ + CommonLanguageSettings.prototype.selectiveGapicGeneration = null; + /** * Creates a new CommonLanguageSettings instance using the specified properties. * @function create @@ -5179,6 +5428,8 @@ writer.int32(message.destinations[i]); writer.ldelim(); } + if (message.selectiveGapicGeneration != null && Object.hasOwnProperty.call(message, "selectiveGapicGeneration")) + $root.google.api.SelectiveGapicGeneration.encode(message.selectiveGapicGeneration, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -5206,9 +5457,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CommonLanguageSettings.decode = function decode(reader, length, error) { + CommonLanguageSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CommonLanguageSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5230,8 +5485,12 @@ message.destinations.push(reader.int32()); break; } + case 3: { + message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.decode(reader, reader.uint32(), undefined, long + 1); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5262,9 +5521,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CommonLanguageSettings.verify = function verify(message) { + CommonLanguageSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri")) if (!$util.isString(message.referenceDocsUri)) return "referenceDocsUri: string expected"; @@ -5281,6 +5544,11 @@ break; } } + if (message.selectiveGapicGeneration != null && message.hasOwnProperty("selectiveGapicGeneration")) { + var error = $root.google.api.SelectiveGapicGeneration.verify(message.selectiveGapicGeneration, long + 1); + if (error) + return "selectiveGapicGeneration." + error; + } return null; }; @@ -5292,9 +5560,13 @@ * @param {Object.} object Plain object * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings */ - CommonLanguageSettings.fromObject = function fromObject(object) { + CommonLanguageSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CommonLanguageSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CommonLanguageSettings(); if (object.referenceDocsUri != null) message.referenceDocsUri = String(object.referenceDocsUri); @@ -5323,6 +5595,11 @@ break; } } + if (object.selectiveGapicGeneration != null) { + if (typeof object.selectiveGapicGeneration !== "object") + throw TypeError(".google.api.CommonLanguageSettings.selectiveGapicGeneration: object expected"); + message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.fromObject(object.selectiveGapicGeneration, long + 1); + } return message; }; @@ -5341,8 +5618,10 @@ var object = {}; if (options.arrays || options.defaults) object.destinations = []; - if (options.defaults) + if (options.defaults) { object.referenceDocsUri = ""; + object.selectiveGapicGeneration = null; + } if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri")) object.referenceDocsUri = message.referenceDocsUri; if (message.destinations && message.destinations.length) { @@ -5350,6 +5629,8 @@ for (var j = 0; j < message.destinations.length; ++j) object.destinations[j] = options.enums === String ? $root.google.api.ClientLibraryDestination[message.destinations[j]] === undefined ? message.destinations[j] : $root.google.api.ClientLibraryDestination[message.destinations[j]] : message.destinations[j]; } + if (message.selectiveGapicGeneration != null && message.hasOwnProperty("selectiveGapicGeneration")) + object.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.toObject(message.selectiveGapicGeneration, options); return object; }; @@ -5412,7 +5693,7 @@ function ClientLibrarySettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5577,9 +5858,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClientLibrarySettings.decode = function decode(reader, length, error) { + ClientLibrarySettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ClientLibrarySettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5599,39 +5884,39 @@ break; } case 21: { - message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32()); + message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 22: { - message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32()); + message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 23: { - message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32()); + message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 24: { - message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32()); + message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 25: { - message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32()); + message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 26: { - message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32()); + message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 27: { - message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32()); + message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 28: { - message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32()); + message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5662,9 +5947,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ClientLibrarySettings.verify = function verify(message) { + ClientLibrarySettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isString(message.version)) return "version: string expected"; @@ -5686,42 +5975,42 @@ if (typeof message.restNumericEnums !== "boolean") return "restNumericEnums: boolean expected"; if (message.javaSettings != null && message.hasOwnProperty("javaSettings")) { - var error = $root.google.api.JavaSettings.verify(message.javaSettings); + var error = $root.google.api.JavaSettings.verify(message.javaSettings, long + 1); if (error) return "javaSettings." + error; } if (message.cppSettings != null && message.hasOwnProperty("cppSettings")) { - var error = $root.google.api.CppSettings.verify(message.cppSettings); + var error = $root.google.api.CppSettings.verify(message.cppSettings, long + 1); if (error) return "cppSettings." + error; } if (message.phpSettings != null && message.hasOwnProperty("phpSettings")) { - var error = $root.google.api.PhpSettings.verify(message.phpSettings); + var error = $root.google.api.PhpSettings.verify(message.phpSettings, long + 1); if (error) return "phpSettings." + error; } if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings")) { - var error = $root.google.api.PythonSettings.verify(message.pythonSettings); + var error = $root.google.api.PythonSettings.verify(message.pythonSettings, long + 1); if (error) return "pythonSettings." + error; } if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings")) { - var error = $root.google.api.NodeSettings.verify(message.nodeSettings); + var error = $root.google.api.NodeSettings.verify(message.nodeSettings, long + 1); if (error) return "nodeSettings." + error; } if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings")) { - var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings); + var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings, long + 1); if (error) return "dotnetSettings." + error; } if (message.rubySettings != null && message.hasOwnProperty("rubySettings")) { - var error = $root.google.api.RubySettings.verify(message.rubySettings); + var error = $root.google.api.RubySettings.verify(message.rubySettings, long + 1); if (error) return "rubySettings." + error; } if (message.goSettings != null && message.hasOwnProperty("goSettings")) { - var error = $root.google.api.GoSettings.verify(message.goSettings); + var error = $root.google.api.GoSettings.verify(message.goSettings, long + 1); if (error) return "goSettings." + error; } @@ -5736,9 +6025,13 @@ * @param {Object.} object Plain object * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings */ - ClientLibrarySettings.fromObject = function fromObject(object) { + ClientLibrarySettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ClientLibrarySettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ClientLibrarySettings(); if (object.version != null) message.version = String(object.version); @@ -5787,42 +6080,42 @@ if (object.javaSettings != null) { if (typeof object.javaSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.javaSettings: object expected"); - message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings); + message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings, long + 1); } if (object.cppSettings != null) { if (typeof object.cppSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.cppSettings: object expected"); - message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings); + message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings, long + 1); } if (object.phpSettings != null) { if (typeof object.phpSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.phpSettings: object expected"); - message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings); + message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings, long + 1); } if (object.pythonSettings != null) { if (typeof object.pythonSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.pythonSettings: object expected"); - message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings); + message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings, long + 1); } if (object.nodeSettings != null) { if (typeof object.nodeSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.nodeSettings: object expected"); - message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings); + message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings, long + 1); } if (object.dotnetSettings != null) { if (typeof object.dotnetSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.dotnetSettings: object expected"); - message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings); + message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings, long + 1); } if (object.rubySettings != null) { if (typeof object.rubySettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.rubySettings: object expected"); - message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings); + message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings, long + 1); } if (object.goSettings != null) { if (typeof object.goSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.goSettings: object expected"); - message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings); + message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings, long + 1); } return message; }; @@ -5940,7 +6233,7 @@ this.librarySettings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6108,9 +6401,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Publishing.decode = function decode(reader, length, error) { + Publishing.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Publishing(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6120,7 +6417,7 @@ case 2: { if (!(message.methodSettings && message.methodSettings.length)) message.methodSettings = []; - message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32())); + message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 101: { @@ -6156,7 +6453,7 @@ case 109: { if (!(message.librarySettings && message.librarySettings.length)) message.librarySettings = []; - message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32())); + message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 110: { @@ -6168,7 +6465,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6199,14 +6496,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Publishing.verify = function verify(message) { + Publishing.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.methodSettings != null && message.hasOwnProperty("methodSettings")) { if (!Array.isArray(message.methodSettings)) return "methodSettings: array expected"; for (var i = 0; i < message.methodSettings.length; ++i) { - var error = $root.google.api.MethodSettings.verify(message.methodSettings[i]); + var error = $root.google.api.MethodSettings.verify(message.methodSettings[i], long + 1); if (error) return "methodSettings." + error; } @@ -6251,7 +6552,7 @@ if (!Array.isArray(message.librarySettings)) return "librarySettings: array expected"; for (var i = 0; i < message.librarySettings.length; ++i) { - var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i]); + var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i], long + 1); if (error) return "librarySettings." + error; } @@ -6273,9 +6574,13 @@ * @param {Object.} object Plain object * @returns {google.api.Publishing} Publishing */ - Publishing.fromObject = function fromObject(object) { + Publishing.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.Publishing) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.Publishing(); if (object.methodSettings) { if (!Array.isArray(object.methodSettings)) @@ -6284,7 +6589,7 @@ for (var i = 0; i < object.methodSettings.length; ++i) { if (typeof object.methodSettings[i] !== "object") throw TypeError(".google.api.Publishing.methodSettings: object expected"); - message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i]); + message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i], long + 1); } } if (object.newIssueUri != null) @@ -6351,7 +6656,7 @@ for (var i = 0; i < object.librarySettings.length; ++i) { if (typeof object.librarySettings[i] !== "object") throw TypeError(".google.api.Publishing.librarySettings: object expected"); - message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i]); + message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i], long + 1); } } if (object.protoReferenceDocumentationUri != null) @@ -6475,7 +6780,7 @@ this.serviceClassNames = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6561,9 +6866,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - JavaSettings.decode = function decode(reader, length, error) { + JavaSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.JavaSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -6590,19 +6899,21 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.serviceClassNames, key); message.serviceClassNames[key] = value; break; } case 3: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6633,9 +6944,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - JavaSettings.verify = function verify(message) { + JavaSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.libraryPackage != null && message.hasOwnProperty("libraryPackage")) if (!$util.isString(message.libraryPackage)) return "libraryPackage: string expected"; @@ -6648,7 +6963,7 @@ return "serviceClassNames: string{k:string} expected"; } if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -6663,9 +6978,13 @@ * @param {Object.} object Plain object * @returns {google.api.JavaSettings} JavaSettings */ - JavaSettings.fromObject = function fromObject(object) { + JavaSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.JavaSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.JavaSettings(); if (object.libraryPackage != null) message.libraryPackage = String(object.libraryPackage); @@ -6673,13 +6992,16 @@ if (typeof object.serviceClassNames !== "object") throw TypeError(".google.api.JavaSettings.serviceClassNames: object expected"); message.serviceClassNames = {}; - for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.serviceClassNames, keys[i]); message.serviceClassNames[keys[i]] = String(object.serviceClassNames[keys[i]]); + } } if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.JavaSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -6708,8 +7030,11 @@ var keys2; if (message.serviceClassNames && (keys2 = Object.keys(message.serviceClassNames)).length) { object.serviceClassNames = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.serviceClassNames, keys2[j]); object.serviceClassNames[keys2[j]] = message.serviceClassNames[keys2[j]]; + } } if (message.common != null && message.hasOwnProperty("common")) object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); @@ -6765,7 +7090,7 @@ function CppSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6830,9 +7155,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CppSettings.decode = function decode(reader, length, error) { + CppSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CppSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6840,11 +7169,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6875,11 +7204,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CppSettings.verify = function verify(message) { + CppSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -6894,14 +7227,18 @@ * @param {Object.} object Plain object * @returns {google.api.CppSettings} CppSettings */ - CppSettings.fromObject = function fromObject(object) { + CppSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CppSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CppSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.CppSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -6975,7 +7312,7 @@ function PhpSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7040,9 +7377,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PhpSettings.decode = function decode(reader, length, error) { + PhpSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PhpSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7050,11 +7391,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7085,11 +7426,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PhpSettings.verify = function verify(message) { + PhpSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -7104,14 +7449,18 @@ * @param {Object.} object Plain object * @returns {google.api.PhpSettings} PhpSettings */ - PhpSettings.fromObject = function fromObject(object) { + PhpSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PhpSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PhpSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.PhpSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -7172,6 +7521,7 @@ * @memberof google.api * @interface IPythonSettings * @property {google.api.ICommonLanguageSettings|null} [common] PythonSettings common + * @property {google.api.PythonSettings.IExperimentalFeatures|null} [experimentalFeatures] PythonSettings experimentalFeatures */ /** @@ -7185,7 +7535,7 @@ function PythonSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7197,6 +7547,14 @@ */ PythonSettings.prototype.common = null; + /** + * PythonSettings experimentalFeatures. + * @member {google.api.PythonSettings.IExperimentalFeatures|null|undefined} experimentalFeatures + * @memberof google.api.PythonSettings + * @instance + */ + PythonSettings.prototype.experimentalFeatures = null; + /** * Creates a new PythonSettings instance using the specified properties. * @function create @@ -7223,6 +7581,8 @@ writer = $Writer.create(); if (message.common != null && Object.hasOwnProperty.call(message, "common")) $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.experimentalFeatures != null && Object.hasOwnProperty.call(message, "experimentalFeatures")) + $root.google.api.PythonSettings.ExperimentalFeatures.encode(message.experimentalFeatures, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -7250,9 +7610,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PythonSettings.decode = function decode(reader, length, error) { + PythonSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7260,11 +7624,15 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); + break; + } + case 2: { + message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7295,14 +7663,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PythonSettings.verify = function verify(message) { + PythonSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } + if (message.experimentalFeatures != null && message.hasOwnProperty("experimentalFeatures")) { + var error = $root.google.api.PythonSettings.ExperimentalFeatures.verify(message.experimentalFeatures, long + 1); + if (error) + return "experimentalFeatures." + error; + } return null; }; @@ -7314,14 +7691,23 @@ * @param {Object.} object Plain object * @returns {google.api.PythonSettings} PythonSettings */ - PythonSettings.fromObject = function fromObject(object) { + PythonSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PythonSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PythonSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.PythonSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); + } + if (object.experimentalFeatures != null) { + if (typeof object.experimentalFeatures !== "object") + throw TypeError(".google.api.PythonSettings.experimentalFeatures: object expected"); + message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.fromObject(object.experimentalFeatures, long + 1); } return message; }; @@ -7339,10 +7725,14 @@ if (!options) options = {}; var object = {}; - if (options.defaults) + if (options.defaults) { object.common = null; + object.experimentalFeatures = null; + } if (message.common != null && message.hasOwnProperty("common")) object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); + if (message.experimentalFeatures != null && message.hasOwnProperty("experimentalFeatures")) + object.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.toObject(message.experimentalFeatures, options); return object; }; @@ -7372,6 +7762,270 @@ return typeUrlPrefix + "/google.api.PythonSettings"; }; + PythonSettings.ExperimentalFeatures = (function() { + + /** + * Properties of an ExperimentalFeatures. + * @memberof google.api.PythonSettings + * @interface IExperimentalFeatures + * @property {boolean|null} [restAsyncIoEnabled] ExperimentalFeatures restAsyncIoEnabled + * @property {boolean|null} [protobufPythonicTypesEnabled] ExperimentalFeatures protobufPythonicTypesEnabled + * @property {boolean|null} [unversionedPackageDisabled] ExperimentalFeatures unversionedPackageDisabled + */ + + /** + * Constructs a new ExperimentalFeatures. + * @memberof google.api.PythonSettings + * @classdesc Represents an ExperimentalFeatures. + * @implements IExperimentalFeatures + * @constructor + * @param {google.api.PythonSettings.IExperimentalFeatures=} [properties] Properties to set + */ + function ExperimentalFeatures(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExperimentalFeatures restAsyncIoEnabled. + * @member {boolean} restAsyncIoEnabled + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @instance + */ + ExperimentalFeatures.prototype.restAsyncIoEnabled = false; + + /** + * ExperimentalFeatures protobufPythonicTypesEnabled. + * @member {boolean} protobufPythonicTypesEnabled + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @instance + */ + ExperimentalFeatures.prototype.protobufPythonicTypesEnabled = false; + + /** + * ExperimentalFeatures unversionedPackageDisabled. + * @member {boolean} unversionedPackageDisabled + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @instance + */ + ExperimentalFeatures.prototype.unversionedPackageDisabled = false; + + /** + * Creates a new ExperimentalFeatures instance using the specified properties. + * @function create + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {google.api.PythonSettings.IExperimentalFeatures=} [properties] Properties to set + * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures instance + */ + ExperimentalFeatures.create = function create(properties) { + return new ExperimentalFeatures(properties); + }; + + /** + * Encodes the specified ExperimentalFeatures message. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @function encode + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {google.api.PythonSettings.IExperimentalFeatures} message ExperimentalFeatures message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExperimentalFeatures.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.restAsyncIoEnabled != null && Object.hasOwnProperty.call(message, "restAsyncIoEnabled")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.restAsyncIoEnabled); + if (message.protobufPythonicTypesEnabled != null && Object.hasOwnProperty.call(message, "protobufPythonicTypesEnabled")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.protobufPythonicTypesEnabled); + if (message.unversionedPackageDisabled != null && Object.hasOwnProperty.call(message, "unversionedPackageDisabled")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.unversionedPackageDisabled); + return writer; + }; + + /** + * Encodes the specified ExperimentalFeatures message, length delimited. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {google.api.PythonSettings.IExperimentalFeatures} message ExperimentalFeatures message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExperimentalFeatures.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer. + * @function decode + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExperimentalFeatures.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings.ExperimentalFeatures(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.restAsyncIoEnabled = reader.bool(); + break; + } + case 2: { + message.protobufPythonicTypesEnabled = reader.bool(); + break; + } + case 3: { + message.unversionedPackageDisabled = reader.bool(); + break; + } + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExperimentalFeatures.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExperimentalFeatures message. + * @function verify + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExperimentalFeatures.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + if (message.restAsyncIoEnabled != null && message.hasOwnProperty("restAsyncIoEnabled")) + if (typeof message.restAsyncIoEnabled !== "boolean") + return "restAsyncIoEnabled: boolean expected"; + if (message.protobufPythonicTypesEnabled != null && message.hasOwnProperty("protobufPythonicTypesEnabled")) + if (typeof message.protobufPythonicTypesEnabled !== "boolean") + return "protobufPythonicTypesEnabled: boolean expected"; + if (message.unversionedPackageDisabled != null && message.hasOwnProperty("unversionedPackageDisabled")) + if (typeof message.unversionedPackageDisabled !== "boolean") + return "unversionedPackageDisabled: boolean expected"; + return null; + }; + + /** + * Creates an ExperimentalFeatures message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {Object.} object Plain object + * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures + */ + ExperimentalFeatures.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.api.PythonSettings.ExperimentalFeatures) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var message = new $root.google.api.PythonSettings.ExperimentalFeatures(); + if (object.restAsyncIoEnabled != null) + message.restAsyncIoEnabled = Boolean(object.restAsyncIoEnabled); + if (object.protobufPythonicTypesEnabled != null) + message.protobufPythonicTypesEnabled = Boolean(object.protobufPythonicTypesEnabled); + if (object.unversionedPackageDisabled != null) + message.unversionedPackageDisabled = Boolean(object.unversionedPackageDisabled); + return message; + }; + + /** + * Creates a plain object from an ExperimentalFeatures message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {google.api.PythonSettings.ExperimentalFeatures} message ExperimentalFeatures + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExperimentalFeatures.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.restAsyncIoEnabled = false; + object.protobufPythonicTypesEnabled = false; + object.unversionedPackageDisabled = false; + } + if (message.restAsyncIoEnabled != null && message.hasOwnProperty("restAsyncIoEnabled")) + object.restAsyncIoEnabled = message.restAsyncIoEnabled; + if (message.protobufPythonicTypesEnabled != null && message.hasOwnProperty("protobufPythonicTypesEnabled")) + object.protobufPythonicTypesEnabled = message.protobufPythonicTypesEnabled; + if (message.unversionedPackageDisabled != null && message.hasOwnProperty("unversionedPackageDisabled")) + object.unversionedPackageDisabled = message.unversionedPackageDisabled; + return object; + }; + + /** + * Converts this ExperimentalFeatures to JSON. + * @function toJSON + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @instance + * @returns {Object.} JSON object + */ + ExperimentalFeatures.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ExperimentalFeatures + * @function getTypeUrl + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExperimentalFeatures.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.PythonSettings.ExperimentalFeatures"; + }; + + return ExperimentalFeatures; + })(); + return PythonSettings; })(); @@ -7395,7 +8049,7 @@ function NodeSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7460,9 +8114,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NodeSettings.decode = function decode(reader, length, error) { + NodeSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.NodeSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7470,11 +8128,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7505,11 +8163,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NodeSettings.verify = function verify(message) { + NodeSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -7524,14 +8186,18 @@ * @param {Object.} object Plain object * @returns {google.api.NodeSettings} NodeSettings */ - NodeSettings.fromObject = function fromObject(object) { + NodeSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.NodeSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.NodeSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.NodeSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -7615,7 +8281,7 @@ this.handwrittenSignatures = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7735,9 +8401,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DotnetSettings.decode = function decode(reader, length, error) { + DotnetSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -7745,7 +8415,7 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -7764,10 +8434,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedServices, key); message.renamedServices[key] = value; break; } @@ -7787,10 +8459,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedResources, key); message.renamedResources[key] = value; break; } @@ -7813,7 +8487,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7844,11 +8518,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DotnetSettings.verify = function verify(message) { + DotnetSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -7900,28 +8578,38 @@ * @param {Object.} object Plain object * @returns {google.api.DotnetSettings} DotnetSettings */ - DotnetSettings.fromObject = function fromObject(object) { + DotnetSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.DotnetSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.DotnetSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.DotnetSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } if (object.renamedServices) { if (typeof object.renamedServices !== "object") throw TypeError(".google.api.DotnetSettings.renamedServices: object expected"); message.renamedServices = {}; - for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedServices, keys[i]); message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]); + } } if (object.renamedResources) { if (typeof object.renamedResources !== "object") throw TypeError(".google.api.DotnetSettings.renamedResources: object expected"); message.renamedResources = {}; - for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedResources, keys[i]); message.renamedResources[keys[i]] = String(object.renamedResources[keys[i]]); + } } if (object.ignoredResources) { if (!Array.isArray(object.ignoredResources)) @@ -7976,13 +8664,19 @@ var keys2; if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) { object.renamedServices = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedServices, keys2[j]); object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]]; + } } if (message.renamedResources && (keys2 = Object.keys(message.renamedResources)).length) { object.renamedResources = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedResources, keys2[j]); object.renamedResources[keys2[j]] = message.renamedResources[keys2[j]]; + } } if (message.ignoredResources && message.ignoredResources.length) { object.ignoredResources = []; @@ -8051,7 +8745,7 @@ function RubySettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8116,9 +8810,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RubySettings.decode = function decode(reader, length, error) { + RubySettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.RubySettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8126,11 +8824,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8161,11 +8859,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RubySettings.verify = function verify(message) { + RubySettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -8180,14 +8882,18 @@ * @param {Object.} object Plain object * @returns {google.api.RubySettings} RubySettings */ - RubySettings.fromObject = function fromObject(object) { + RubySettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.RubySettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.RubySettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.RubySettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -8248,6 +8954,7 @@ * @memberof google.api * @interface IGoSettings * @property {google.api.ICommonLanguageSettings|null} [common] GoSettings common + * @property {Object.|null} [renamedServices] GoSettings renamedServices */ /** @@ -8259,9 +8966,10 @@ * @param {google.api.IGoSettings=} [properties] Properties to set */ function GoSettings(properties) { + this.renamedServices = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8273,6 +8981,14 @@ */ GoSettings.prototype.common = null; + /** + * GoSettings renamedServices. + * @member {Object.} renamedServices + * @memberof google.api.GoSettings + * @instance + */ + GoSettings.prototype.renamedServices = $util.emptyObject; + /** * Creates a new GoSettings instance using the specified properties. * @function create @@ -8299,6 +9015,9 @@ writer = $Writer.create(); if (message.common != null && Object.hasOwnProperty.call(message, "common")) $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.renamedServices != null && Object.hasOwnProperty.call(message, "renamedServices")) + for (var keys = Object.keys(message.renamedServices), i = 0; i < keys.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.renamedServices[keys[i]]).ldelim(); return writer; }; @@ -8326,21 +9045,50 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoSettings.decode = function decode(reader, length, error) { + GoSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings(); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); if (tag === error) break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); + break; + } + case 2: { + if (message.renamedServices === $util.emptyObject) + message.renamedServices = {}; + 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, long); + break; + } + } + if (key === "__proto__") + $util.makeProp(message.renamedServices, key); + message.renamedServices[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8371,14 +9119,26 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GoSettings.verify = function verify(message) { + GoSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } + if (message.renamedServices != null && message.hasOwnProperty("renamedServices")) { + if (!$util.isObject(message.renamedServices)) + return "renamedServices: object expected"; + var key = Object.keys(message.renamedServices); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.renamedServices[key[i]])) + return "renamedServices: string{k:string} expected"; + } return null; }; @@ -8390,14 +9150,28 @@ * @param {Object.} object Plain object * @returns {google.api.GoSettings} GoSettings */ - GoSettings.fromObject = function fromObject(object) { + GoSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.GoSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.GoSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.GoSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); + } + if (object.renamedServices) { + if (typeof object.renamedServices !== "object") + throw TypeError(".google.api.GoSettings.renamedServices: object expected"); + message.renamedServices = {}; + for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedServices, keys[i]); + message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]); + } } return message; }; @@ -8415,10 +9189,21 @@ if (!options) options = {}; var object = {}; + if (options.objects || options.defaults) + object.renamedServices = {}; if (options.defaults) object.common = null; if (message.common != null && message.hasOwnProperty("common")) object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); + var keys2; + if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) { + object.renamedServices = {}; + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedServices, keys2[j]); + object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]]; + } + } return object; }; @@ -8474,7 +9259,7 @@ this.autoPopulatedFields = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8560,9 +9345,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodSettings.decode = function decode(reader, length, error) { + MethodSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8574,7 +9363,7 @@ break; } case 2: { - message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32()); + message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -8584,7 +9373,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8615,14 +9404,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodSettings.verify = function verify(message) { + MethodSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.selector != null && message.hasOwnProperty("selector")) if (!$util.isString(message.selector)) return "selector: string expected"; if (message.longRunning != null && message.hasOwnProperty("longRunning")) { - var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning); + var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning, long + 1); if (error) return "longRunning." + error; } @@ -8644,16 +9437,20 @@ * @param {Object.} object Plain object * @returns {google.api.MethodSettings} MethodSettings */ - MethodSettings.fromObject = function fromObject(object) { + MethodSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.MethodSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.MethodSettings(); if (object.selector != null) message.selector = String(object.selector); if (object.longRunning != null) { if (typeof object.longRunning !== "object") throw TypeError(".google.api.MethodSettings.longRunning: object expected"); - message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning); + message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning, long + 1); } if (object.autoPopulatedFields) { if (!Array.isArray(object.autoPopulatedFields)) @@ -8745,7 +9542,7 @@ function LongRunning(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8840,9 +9637,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LongRunning.decode = function decode(reader, length, error) { + LongRunning.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings.LongRunning(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8850,7 +9651,7 @@ break; switch (tag >>> 3) { case 1: { - message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -8858,15 +9659,15 @@ break; } case 3: { - message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8897,11 +9698,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LongRunning.verify = function verify(message) { + LongRunning.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.initialPollDelay != null && message.hasOwnProperty("initialPollDelay")) { - var error = $root.google.protobuf.Duration.verify(message.initialPollDelay); + var error = $root.google.protobuf.Duration.verify(message.initialPollDelay, long + 1); if (error) return "initialPollDelay." + error; } @@ -8909,12 +9714,12 @@ if (typeof message.pollDelayMultiplier !== "number") return "pollDelayMultiplier: number expected"; if (message.maxPollDelay != null && message.hasOwnProperty("maxPollDelay")) { - var error = $root.google.protobuf.Duration.verify(message.maxPollDelay); + var error = $root.google.protobuf.Duration.verify(message.maxPollDelay, long + 1); if (error) return "maxPollDelay." + error; } if (message.totalPollTimeout != null && message.hasOwnProperty("totalPollTimeout")) { - var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout); + var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout, long + 1); if (error) return "totalPollTimeout." + error; } @@ -8929,26 +9734,30 @@ * @param {Object.} object Plain object * @returns {google.api.MethodSettings.LongRunning} LongRunning */ - LongRunning.fromObject = function fromObject(object) { + LongRunning.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.MethodSettings.LongRunning) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.MethodSettings.LongRunning(); if (object.initialPollDelay != null) { if (typeof object.initialPollDelay !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.initialPollDelay: object expected"); - message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay); + message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay, long + 1); } if (object.pollDelayMultiplier != null) message.pollDelayMultiplier = Number(object.pollDelayMultiplier); if (object.maxPollDelay != null) { if (typeof object.maxPollDelay !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.maxPollDelay: object expected"); - message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay); + message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay, long + 1); } if (object.totalPollTimeout != null) { if (typeof object.totalPollTimeout !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.totalPollTimeout: object expected"); - message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout); + message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout, long + 1); } return message; }; @@ -9057,26 +9866,283 @@ return values; })(); - /** - * LaunchStage enum. - * @name google.api.LaunchStage - * @enum {number} - * @property {number} LAUNCH_STAGE_UNSPECIFIED=0 LAUNCH_STAGE_UNSPECIFIED value - * @property {number} UNIMPLEMENTED=6 UNIMPLEMENTED value - * @property {number} PRELAUNCH=7 PRELAUNCH value - * @property {number} EARLY_ACCESS=1 EARLY_ACCESS value - * @property {number} ALPHA=2 ALPHA value - * @property {number} BETA=3 BETA value - * @property {number} GA=4 GA value - * @property {number} DEPRECATED=5 DEPRECATED value - */ - api.LaunchStage = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "LAUNCH_STAGE_UNSPECIFIED"] = 0; - values[valuesById[6] = "UNIMPLEMENTED"] = 6; - values[valuesById[7] = "PRELAUNCH"] = 7; - values[valuesById[1] = "EARLY_ACCESS"] = 1; - values[valuesById[2] = "ALPHA"] = 2; + api.SelectiveGapicGeneration = (function() { + + /** + * Properties of a SelectiveGapicGeneration. + * @memberof google.api + * @interface ISelectiveGapicGeneration + * @property {Array.|null} [methods] SelectiveGapicGeneration methods + * @property {boolean|null} [generateOmittedAsInternal] SelectiveGapicGeneration generateOmittedAsInternal + */ + + /** + * Constructs a new SelectiveGapicGeneration. + * @memberof google.api + * @classdesc Represents a SelectiveGapicGeneration. + * @implements ISelectiveGapicGeneration + * @constructor + * @param {google.api.ISelectiveGapicGeneration=} [properties] Properties to set + */ + function SelectiveGapicGeneration(properties) { + this.methods = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * SelectiveGapicGeneration methods. + * @member {Array.} methods + * @memberof google.api.SelectiveGapicGeneration + * @instance + */ + SelectiveGapicGeneration.prototype.methods = $util.emptyArray; + + /** + * SelectiveGapicGeneration generateOmittedAsInternal. + * @member {boolean} generateOmittedAsInternal + * @memberof google.api.SelectiveGapicGeneration + * @instance + */ + SelectiveGapicGeneration.prototype.generateOmittedAsInternal = false; + + /** + * Creates a new SelectiveGapicGeneration instance using the specified properties. + * @function create + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {google.api.ISelectiveGapicGeneration=} [properties] Properties to set + * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration instance + */ + SelectiveGapicGeneration.create = function create(properties) { + return new SelectiveGapicGeneration(properties); + }; + + /** + * Encodes the specified SelectiveGapicGeneration message. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @function encode + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {google.api.ISelectiveGapicGeneration} message SelectiveGapicGeneration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SelectiveGapicGeneration.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.methods != null && message.methods.length) + for (var i = 0; i < message.methods.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.methods[i]); + if (message.generateOmittedAsInternal != null && Object.hasOwnProperty.call(message, "generateOmittedAsInternal")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.generateOmittedAsInternal); + return writer; + }; + + /** + * Encodes the specified SelectiveGapicGeneration message, length delimited. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {google.api.ISelectiveGapicGeneration} message SelectiveGapicGeneration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SelectiveGapicGeneration.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer. + * @function decode + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SelectiveGapicGeneration.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.SelectiveGapicGeneration(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + if (!(message.methods && message.methods.length)) + message.methods = []; + message.methods.push(reader.string()); + break; + } + case 2: { + message.generateOmittedAsInternal = reader.bool(); + break; + } + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SelectiveGapicGeneration.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SelectiveGapicGeneration message. + * @function verify + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SelectiveGapicGeneration.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + if (message.methods != null && message.hasOwnProperty("methods")) { + if (!Array.isArray(message.methods)) + return "methods: array expected"; + for (var i = 0; i < message.methods.length; ++i) + if (!$util.isString(message.methods[i])) + return "methods: string[] expected"; + } + if (message.generateOmittedAsInternal != null && message.hasOwnProperty("generateOmittedAsInternal")) + if (typeof message.generateOmittedAsInternal !== "boolean") + return "generateOmittedAsInternal: boolean expected"; + return null; + }; + + /** + * Creates a SelectiveGapicGeneration message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {Object.} object Plain object + * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration + */ + SelectiveGapicGeneration.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.api.SelectiveGapicGeneration) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var message = new $root.google.api.SelectiveGapicGeneration(); + if (object.methods) { + if (!Array.isArray(object.methods)) + throw TypeError(".google.api.SelectiveGapicGeneration.methods: array expected"); + message.methods = []; + for (var i = 0; i < object.methods.length; ++i) + message.methods[i] = String(object.methods[i]); + } + if (object.generateOmittedAsInternal != null) + message.generateOmittedAsInternal = Boolean(object.generateOmittedAsInternal); + return message; + }; + + /** + * Creates a plain object from a SelectiveGapicGeneration message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {google.api.SelectiveGapicGeneration} message SelectiveGapicGeneration + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SelectiveGapicGeneration.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.methods = []; + if (options.defaults) + object.generateOmittedAsInternal = false; + if (message.methods && message.methods.length) { + object.methods = []; + for (var j = 0; j < message.methods.length; ++j) + object.methods[j] = message.methods[j]; + } + if (message.generateOmittedAsInternal != null && message.hasOwnProperty("generateOmittedAsInternal")) + object.generateOmittedAsInternal = message.generateOmittedAsInternal; + return object; + }; + + /** + * Converts this SelectiveGapicGeneration to JSON. + * @function toJSON + * @memberof google.api.SelectiveGapicGeneration + * @instance + * @returns {Object.} JSON object + */ + SelectiveGapicGeneration.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SelectiveGapicGeneration + * @function getTypeUrl + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SelectiveGapicGeneration.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.SelectiveGapicGeneration"; + }; + + return SelectiveGapicGeneration; + })(); + + /** + * LaunchStage enum. + * @name google.api.LaunchStage + * @enum {number} + * @property {number} LAUNCH_STAGE_UNSPECIFIED=0 LAUNCH_STAGE_UNSPECIFIED value + * @property {number} UNIMPLEMENTED=6 UNIMPLEMENTED value + * @property {number} PRELAUNCH=7 PRELAUNCH value + * @property {number} EARLY_ACCESS=1 EARLY_ACCESS value + * @property {number} ALPHA=2 ALPHA value + * @property {number} BETA=3 BETA value + * @property {number} GA=4 GA value + * @property {number} DEPRECATED=5 DEPRECATED value + */ + api.LaunchStage = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "LAUNCH_STAGE_UNSPECIFIED"] = 0; + values[valuesById[6] = "UNIMPLEMENTED"] = 6; + values[valuesById[7] = "PRELAUNCH"] = 7; + values[valuesById[1] = "EARLY_ACCESS"] = 1; + values[valuesById[2] = "ALPHA"] = 2; values[valuesById[3] = "BETA"] = 3; values[valuesById[4] = "GA"] = 4; values[valuesById[5] = "DEPRECATED"] = 5; @@ -9139,7 +10205,7 @@ this.style = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9269,9 +10335,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceDescriptor.decode = function decode(reader, length, error) { + ResourceDescriptor.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceDescriptor(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9316,7 +10386,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9347,9 +10417,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceDescriptor.verify = function verify(message) { + ResourceDescriptor.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -9401,9 +10475,13 @@ * @param {Object.} object Plain object * @returns {google.api.ResourceDescriptor} ResourceDescriptor */ - ResourceDescriptor.fromObject = function fromObject(object) { + ResourceDescriptor.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ResourceDescriptor) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ResourceDescriptor(); if (object.type != null) message.type = String(object.type); @@ -9591,7 +10669,7 @@ function ResourceReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9666,9 +10744,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceReference.decode = function decode(reader, length, error) { + ResourceReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9684,7 +10766,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9715,9 +10797,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceReference.verify = function verify(message) { + ResourceReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -9735,9 +10821,13 @@ * @param {Object.} object Plain object * @returns {google.api.ResourceReference} ResourceReference */ - ResourceReference.fromObject = function fromObject(object) { + ResourceReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ResourceReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ResourceReference(); if (object.type != null) message.type = String(object.type); @@ -9832,7 +10922,7 @@ this.file = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9898,9 +10988,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorSet.decode = function decode(reader, length, error) { + FileDescriptorSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9910,11 +11004,11 @@ case 1: { if (!(message.file && message.file.length)) message.file = []; - message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); + message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9945,14 +11039,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileDescriptorSet.verify = function verify(message) { + FileDescriptorSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.file != null && message.hasOwnProperty("file")) { if (!Array.isArray(message.file)) return "file: array expected"; for (var i = 0; i < message.file.length; ++i) { - var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]); + var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i], long + 1); if (error) return "file." + error; } @@ -9968,9 +11066,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet */ - FileDescriptorSet.fromObject = function fromObject(object) { + FileDescriptorSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileDescriptorSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileDescriptorSet(); if (object.file) { if (!Array.isArray(object.file)) @@ -9979,7 +11081,7 @@ for (var i = 0; i < object.file.length; ++i) { if (typeof object.file[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected"); - message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]); + message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i], long + 1); } } return message; @@ -10042,6 +11144,7 @@ * @name google.protobuf.Edition * @enum {number} * @property {number} EDITION_UNKNOWN=0 EDITION_UNKNOWN value + * @property {number} EDITION_LEGACY=900 EDITION_LEGACY value * @property {number} EDITION_PROTO2=998 EDITION_PROTO2 value * @property {number} EDITION_PROTO3=999 EDITION_PROTO3 value * @property {number} EDITION_2023=1000 EDITION_2023 value @@ -10056,6 +11159,7 @@ protobuf.Edition = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "EDITION_UNKNOWN"] = 0; + values[valuesById[900] = "EDITION_LEGACY"] = 900; values[valuesById[998] = "EDITION_PROTO2"] = 998; values[valuesById[999] = "EDITION_PROTO3"] = 999; values[valuesById[1000] = "EDITION_2023"] = 1000; @@ -10080,6 +11184,7 @@ * @property {Array.|null} [dependency] FileDescriptorProto dependency * @property {Array.|null} [publicDependency] FileDescriptorProto publicDependency * @property {Array.|null} [weakDependency] FileDescriptorProto weakDependency + * @property {Array.|null} [optionDependency] FileDescriptorProto optionDependency * @property {Array.|null} [messageType] FileDescriptorProto messageType * @property {Array.|null} [enumType] FileDescriptorProto enumType * @property {Array.|null} [service] FileDescriptorProto service @@ -10102,13 +11207,14 @@ this.dependency = []; this.publicDependency = []; this.weakDependency = []; + this.optionDependency = []; this.messageType = []; this.enumType = []; this.service = []; this.extension = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10152,6 +11258,14 @@ */ FileDescriptorProto.prototype.weakDependency = $util.emptyArray; + /** + * FileDescriptorProto optionDependency. + * @member {Array.} optionDependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.optionDependency = $util.emptyArray; + /** * FileDescriptorProto messageType. * @member {Array.} messageType @@ -10273,6 +11387,9 @@ writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax); if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.edition); + if (message.optionDependency != null && message.optionDependency.length) + for (var i = 0; i < message.optionDependency.length; ++i) + writer.uint32(/* id 15, wireType 2 =*/122).string(message.optionDependency[i]); return writer; }; @@ -10300,9 +11417,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorProto.decode = function decode(reader, length, error) { + FileDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10345,36 +11466,42 @@ message.weakDependency.push(reader.int32()); break; } + case 15: { + if (!(message.optionDependency && message.optionDependency.length)) + message.optionDependency = []; + message.optionDependency.push(reader.string()); + break; + } case 4: { if (!(message.messageType && message.messageType.length)) message.messageType = []; - message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.enumType && message.enumType.length)) message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.service && message.service.length)) message.service = []; - message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); + message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { if (!(message.extension && message.extension.length)) message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { - message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } case 12: { @@ -10386,7 +11513,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10417,9 +11544,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileDescriptorProto.verify = function verify(message) { + FileDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -10447,11 +11578,18 @@ if (!$util.isInteger(message.weakDependency[i])) return "weakDependency: integer[] expected"; } + if (message.optionDependency != null && message.hasOwnProperty("optionDependency")) { + if (!Array.isArray(message.optionDependency)) + return "optionDependency: array expected"; + for (var i = 0; i < message.optionDependency.length; ++i) + if (!$util.isString(message.optionDependency[i])) + return "optionDependency: string[] expected"; + } if (message.messageType != null && message.hasOwnProperty("messageType")) { if (!Array.isArray(message.messageType)) return "messageType: array expected"; for (var i = 0; i < message.messageType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]); + var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i], long + 1); if (error) return "messageType." + error; } @@ -10460,7 +11598,7 @@ if (!Array.isArray(message.enumType)) return "enumType: array expected"; for (var i = 0; i < message.enumType.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i], long + 1); if (error) return "enumType." + error; } @@ -10469,7 +11607,7 @@ if (!Array.isArray(message.service)) return "service: array expected"; for (var i = 0; i < message.service.length; ++i) { - var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]); + var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i], long + 1); if (error) return "service." + error; } @@ -10478,18 +11616,18 @@ if (!Array.isArray(message.extension)) return "extension: array expected"; for (var i = 0; i < message.extension.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i], long + 1); if (error) return "extension." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FileOptions.verify(message.options); + var error = $root.google.protobuf.FileOptions.verify(message.options, long + 1); if (error) return "options." + error; } if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) { - var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo); + var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo, long + 1); if (error) return "sourceCodeInfo." + error; } @@ -10501,6 +11639,7 @@ default: return "edition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -10524,9 +11663,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto */ - FileDescriptorProto.fromObject = function fromObject(object) { + FileDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -10553,6 +11696,13 @@ for (var i = 0; i < object.weakDependency.length; ++i) message.weakDependency[i] = object.weakDependency[i] | 0; } + if (object.optionDependency) { + if (!Array.isArray(object.optionDependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.optionDependency: array expected"); + message.optionDependency = []; + for (var i = 0; i < object.optionDependency.length; ++i) + message.optionDependency[i] = String(object.optionDependency[i]); + } if (object.messageType) { if (!Array.isArray(object.messageType)) throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected"); @@ -10560,7 +11710,7 @@ for (var i = 0; i < object.messageType.length; ++i) { if (typeof object.messageType[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected"); - message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]); + message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i], long + 1); } } if (object.enumType) { @@ -10570,7 +11720,7 @@ for (var i = 0; i < object.enumType.length; ++i) { if (typeof object.enumType[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected"); - message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i], long + 1); } } if (object.service) { @@ -10580,7 +11730,7 @@ for (var i = 0; i < object.service.length; ++i) { if (typeof object.service[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected"); - message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]); + message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i], long + 1); } } if (object.extension) { @@ -10590,18 +11740,18 @@ for (var i = 0; i < object.extension.length; ++i) { if (typeof object.extension[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected"); - message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.FileOptions.fromObject(object.options); + message.options = $root.google.protobuf.FileOptions.fromObject(object.options, long + 1); } if (object.sourceCodeInfo != null) { if (typeof object.sourceCodeInfo !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected"); - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo, long + 1); } if (object.syntax != null) message.syntax = String(object.syntax); @@ -10616,6 +11766,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -10681,6 +11835,7 @@ object.extension = []; object.publicDependency = []; object.weakDependency = []; + object.optionDependency = []; } if (options.defaults) { object.name = ""; @@ -10737,6 +11892,11 @@ object.syntax = message.syntax; if (message.edition != null && message.hasOwnProperty("edition")) object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; + if (message.optionDependency && message.optionDependency.length) { + object.optionDependency = []; + for (var j = 0; j < message.optionDependency.length; ++j) + object.optionDependency[j] = message.optionDependency[j]; + } return object; }; @@ -10785,6 +11945,7 @@ * @property {google.protobuf.IMessageOptions|null} [options] DescriptorProto options * @property {Array.|null} [reservedRange] DescriptorProto reservedRange * @property {Array.|null} [reservedName] DescriptorProto reservedName + * @property {google.protobuf.SymbolVisibility|null} [visibility] DescriptorProto visibility */ /** @@ -10806,7 +11967,7 @@ this.reservedName = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10890,6 +12051,14 @@ */ DescriptorProto.prototype.reservedName = $util.emptyArray; + /** + * DescriptorProto visibility. + * @member {google.protobuf.SymbolVisibility} visibility + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.visibility = 0; + /** * Creates a new DescriptorProto instance using the specified properties. * @function create @@ -10942,6 +12111,8 @@ if (message.reservedName != null && message.reservedName.length) for (var i = 0; i < message.reservedName.length; ++i) writer.uint32(/* id 10, wireType 2 =*/82).string(message.reservedName[i]); + if (message.visibility != null && Object.hasOwnProperty.call(message, "visibility")) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.visibility); return writer; }; @@ -10969,9 +12140,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DescriptorProto.decode = function decode(reader, length, error) { + DescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10985,47 +12160,47 @@ case 2: { if (!(message.field && message.field.length)) message.field = []; - message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.extension && message.extension.length)) message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { if (!(message.nestedType && message.nestedType.length)) message.nestedType = []; - message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { if (!(message.enumType && message.enumType.length)) message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.extensionRange && message.extensionRange.length)) message.extensionRange = []; - message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); + message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { if (!(message.oneofDecl && message.oneofDecl.length)) message.oneofDecl = []; - message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); + message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { - message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { if (!(message.reservedRange && message.reservedRange.length)) message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); + message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 10: { @@ -11034,8 +12209,12 @@ message.reservedName.push(reader.string()); break; } + case 11: { + message.visibility = reader.int32(); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11066,9 +12245,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DescriptorProto.verify = function verify(message) { + DescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -11076,7 +12259,7 @@ if (!Array.isArray(message.field)) return "field: array expected"; for (var i = 0; i < message.field.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i], long + 1); if (error) return "field." + error; } @@ -11085,7 +12268,7 @@ if (!Array.isArray(message.extension)) return "extension: array expected"; for (var i = 0; i < message.extension.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i], long + 1); if (error) return "extension." + error; } @@ -11094,7 +12277,7 @@ if (!Array.isArray(message.nestedType)) return "nestedType: array expected"; for (var i = 0; i < message.nestedType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]); + var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i], long + 1); if (error) return "nestedType." + error; } @@ -11103,7 +12286,7 @@ if (!Array.isArray(message.enumType)) return "enumType: array expected"; for (var i = 0; i < message.enumType.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i], long + 1); if (error) return "enumType." + error; } @@ -11112,7 +12295,7 @@ if (!Array.isArray(message.extensionRange)) return "extensionRange: array expected"; for (var i = 0; i < message.extensionRange.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]); + var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i], long + 1); if (error) return "extensionRange." + error; } @@ -11121,13 +12304,13 @@ if (!Array.isArray(message.oneofDecl)) return "oneofDecl: array expected"; for (var i = 0; i < message.oneofDecl.length; ++i) { - var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]); + var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i], long + 1); if (error) return "oneofDecl." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MessageOptions.verify(message.options); + var error = $root.google.protobuf.MessageOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -11135,7 +12318,7 @@ if (!Array.isArray(message.reservedRange)) return "reservedRange: array expected"; for (var i = 0; i < message.reservedRange.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]); + var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i], long + 1); if (error) return "reservedRange." + error; } @@ -11147,6 +12330,15 @@ if (!$util.isString(message.reservedName[i])) return "reservedName: string[] expected"; } + if (message.visibility != null && message.hasOwnProperty("visibility")) + switch (message.visibility) { + default: + return "visibility: enum value expected"; + case 0: + case 1: + case 2: + break; + } return null; }; @@ -11158,9 +12350,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto} DescriptorProto */ - DescriptorProto.fromObject = function fromObject(object) { + DescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -11171,7 +12367,7 @@ for (var i = 0; i < object.field.length; ++i) { if (typeof object.field[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.field: object expected"); - message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]); + message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i], long + 1); } } if (object.extension) { @@ -11181,7 +12377,7 @@ for (var i = 0; i < object.extension.length; ++i) { if (typeof object.extension[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.extension: object expected"); - message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i], long + 1); } } if (object.nestedType) { @@ -11191,7 +12387,7 @@ for (var i = 0; i < object.nestedType.length; ++i) { if (typeof object.nestedType[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected"); - message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]); + message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i], long + 1); } } if (object.enumType) { @@ -11201,7 +12397,7 @@ for (var i = 0; i < object.enumType.length; ++i) { if (typeof object.enumType[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected"); - message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i], long + 1); } } if (object.extensionRange) { @@ -11211,7 +12407,7 @@ for (var i = 0; i < object.extensionRange.length; ++i) { if (typeof object.extensionRange[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected"); - message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]); + message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i], long + 1); } } if (object.oneofDecl) { @@ -11221,13 +12417,13 @@ for (var i = 0; i < object.oneofDecl.length; ++i) { if (typeof object.oneofDecl[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected"); - message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]); + message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.DescriptorProto.options: object expected"); - message.options = $root.google.protobuf.MessageOptions.fromObject(object.options); + message.options = $root.google.protobuf.MessageOptions.fromObject(object.options, long + 1); } if (object.reservedRange) { if (!Array.isArray(object.reservedRange)) @@ -11236,7 +12432,7 @@ for (var i = 0; i < object.reservedRange.length; ++i) { if (typeof object.reservedRange[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected"); - message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]); + message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i], long + 1); } } if (object.reservedName) { @@ -11246,6 +12442,26 @@ for (var i = 0; i < object.reservedName.length; ++i) message.reservedName[i] = String(object.reservedName[i]); } + switch (object.visibility) { + default: + if (typeof object.visibility === "number") { + message.visibility = object.visibility; + break; + } + break; + case "VISIBILITY_UNSET": + case 0: + message.visibility = 0; + break; + case "VISIBILITY_LOCAL": + case 1: + message.visibility = 1; + break; + case "VISIBILITY_EXPORT": + case 2: + message.visibility = 2; + break; + } return message; }; @@ -11275,6 +12491,7 @@ if (options.defaults) { object.name = ""; object.options = null; + object.visibility = options.enums === String ? "VISIBILITY_UNSET" : 0; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -11320,6 +12537,8 @@ for (var j = 0; j < message.reservedName.length; ++j) object.reservedName[j] = message.reservedName[j]; } + if (message.visibility != null && message.hasOwnProperty("visibility")) + object.visibility = options.enums === String ? $root.google.protobuf.SymbolVisibility[message.visibility] === undefined ? message.visibility : $root.google.protobuf.SymbolVisibility[message.visibility] : message.visibility; return object; }; @@ -11371,7 +12590,7 @@ function ExtensionRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11456,9 +12675,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRange.decode = function decode(reader, length, error) { + ExtensionRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11474,11 +12697,11 @@ break; } case 3: { - message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11509,9 +12732,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExtensionRange.verify = function verify(message) { + ExtensionRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -11519,7 +12746,7 @@ if (!$util.isInteger(message.end)) return "end: integer expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options); + var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -11534,9 +12761,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange */ - ExtensionRange.fromObject = function fromObject(object) { + ExtensionRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); if (object.start != null) message.start = object.start | 0; @@ -11545,7 +12776,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected"); - message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options); + message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options, long + 1); } return message; }; @@ -11627,7 +12858,7 @@ function ReservedRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11702,9 +12933,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReservedRange.decode = function decode(reader, length, error) { + ReservedRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11720,7 +12955,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11751,9 +12986,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReservedRange.verify = function verify(message) { + ReservedRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -11771,9 +13010,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange */ - ReservedRange.fromObject = function fromObject(object) { + ReservedRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto.ReservedRange(); if (object.start != null) message.start = object.start | 0; @@ -11863,7 +13106,7 @@ this.declaration = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11960,9 +13203,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRangeOptions.decode = function decode(reader, length, error) { + ExtensionRangeOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11972,17 +13219,17 @@ case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.declaration && message.declaration.length)) message.declaration = []; - message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32())); + message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 50: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -11990,7 +13237,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12021,14 +13268,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExtensionRangeOptions.verify = function verify(message) { + ExtensionRangeOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -12037,13 +13288,13 @@ if (!Array.isArray(message.declaration)) return "declaration: array expected"; for (var i = 0; i < message.declaration.length; ++i) { - var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i]); + var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i], long + 1); if (error) return "declaration." + error; } } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -12066,9 +13317,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions */ - ExtensionRangeOptions.fromObject = function fromObject(object) { + ExtensionRangeOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ExtensionRangeOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ExtensionRangeOptions(); if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -12077,7 +13332,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object.declaration) { @@ -12087,13 +13342,13 @@ for (var i = 0; i < object.declaration.length; ++i) { if (typeof object.declaration[i] !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: object expected"); - message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i]); + message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i], long + 1); } } if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } switch (object.verification) { case "DECLARATION": @@ -12202,7 +13457,7 @@ function Declaration(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12307,9 +13562,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Declaration.decode = function decode(reader, length, error) { + Declaration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12337,7 +13596,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12368,9 +13627,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Declaration.verify = function verify(message) { + Declaration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.number != null && message.hasOwnProperty("number")) if (!$util.isInteger(message.number)) return "number: integer expected"; @@ -12397,9 +13660,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration */ - Declaration.fromObject = function fromObject(object) { + Declaration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); if (object.number != null) message.number = object.number | 0; @@ -12523,7 +13790,7 @@ function FieldDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12688,9 +13955,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldDescriptorProto.decode = function decode(reader, length, error) { + FieldDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12734,7 +14005,7 @@ break; } case 8: { - message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 17: { @@ -12742,7 +14013,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12773,9 +14044,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldDescriptorProto.verify = function verify(message) { + FieldDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -12831,7 +14106,7 @@ if (!$util.isString(message.jsonName)) return "jsonName: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FieldOptions.verify(message.options); + var error = $root.google.protobuf.FieldOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -12849,9 +14124,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto */ - FieldDescriptorProto.fromObject = function fromObject(object) { + FieldDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -12970,7 +14249,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.FieldOptions.fromObject(object.options); + message.options = $root.google.protobuf.FieldOptions.fromObject(object.options, long + 1); } if (object.proto3Optional != null) message.proto3Optional = Boolean(object.proto3Optional); @@ -13140,7 +14419,7 @@ function OneofDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13215,9 +14494,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofDescriptorProto.decode = function decode(reader, length, error) { + OneofDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13229,11 +14512,11 @@ break; } case 2: { - message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13264,14 +14547,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OneofDescriptorProto.verify = function verify(message) { + OneofDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.OneofOptions.verify(message.options); + var error = $root.google.protobuf.OneofOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -13286,16 +14573,20 @@ * @param {Object.} object Plain object * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto */ - OneofDescriptorProto.fromObject = function fromObject(object) { + OneofDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.OneofDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.OneofDescriptorProto(); if (object.name != null) message.name = String(object.name); if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.OneofOptions.fromObject(object.options); + message.options = $root.google.protobuf.OneofOptions.fromObject(object.options, long + 1); } return message; }; @@ -13364,6 +14655,7 @@ * @property {google.protobuf.IEnumOptions|null} [options] EnumDescriptorProto options * @property {Array.|null} [reservedRange] EnumDescriptorProto reservedRange * @property {Array.|null} [reservedName] EnumDescriptorProto reservedName + * @property {google.protobuf.SymbolVisibility|null} [visibility] EnumDescriptorProto visibility */ /** @@ -13380,7 +14672,7 @@ this.reservedName = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13424,6 +14716,14 @@ */ EnumDescriptorProto.prototype.reservedName = $util.emptyArray; + /** + * EnumDescriptorProto visibility. + * @member {google.protobuf.SymbolVisibility} visibility + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.visibility = 0; + /** * Creates a new EnumDescriptorProto instance using the specified properties. * @function create @@ -13461,6 +14761,8 @@ if (message.reservedName != null && message.reservedName.length) for (var i = 0; i < message.reservedName.length; ++i) writer.uint32(/* id 5, wireType 2 =*/42).string(message.reservedName[i]); + if (message.visibility != null && Object.hasOwnProperty.call(message, "visibility")) + writer.uint32(/* id 6, wireType 0 =*/48).int32(message.visibility); return writer; }; @@ -13488,9 +14790,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumDescriptorProto.decode = function decode(reader, length, error) { + EnumDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13504,17 +14810,17 @@ case 2: { if (!(message.value && message.value.length)) message.value = []; - message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); + message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { if (!(message.reservedRange && message.reservedRange.length)) message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); + message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { @@ -13523,8 +14829,12 @@ message.reservedName.push(reader.string()); break; } + case 6: { + message.visibility = reader.int32(); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13555,9 +14865,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumDescriptorProto.verify = function verify(message) { + EnumDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -13565,13 +14879,13 @@ if (!Array.isArray(message.value)) return "value: array expected"; for (var i = 0; i < message.value.length; ++i) { - var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i]); + var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i], long + 1); if (error) return "value." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumOptions.verify(message.options); + var error = $root.google.protobuf.EnumOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -13579,7 +14893,7 @@ if (!Array.isArray(message.reservedRange)) return "reservedRange: array expected"; for (var i = 0; i < message.reservedRange.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i]); + var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i], long + 1); if (error) return "reservedRange." + error; } @@ -13591,6 +14905,15 @@ if (!$util.isString(message.reservedName[i])) return "reservedName: string[] expected"; } + if (message.visibility != null && message.hasOwnProperty("visibility")) + switch (message.visibility) { + default: + return "visibility: enum value expected"; + case 0: + case 1: + case 2: + break; + } return null; }; @@ -13602,9 +14925,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto */ - EnumDescriptorProto.fromObject = function fromObject(object) { + EnumDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -13615,13 +14942,13 @@ for (var i = 0; i < object.value.length; ++i) { if (typeof object.value[i] !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected"); - message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i]); + message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.EnumOptions.fromObject(object.options); + message.options = $root.google.protobuf.EnumOptions.fromObject(object.options, long + 1); } if (object.reservedRange) { if (!Array.isArray(object.reservedRange)) @@ -13630,7 +14957,7 @@ for (var i = 0; i < object.reservedRange.length; ++i) { if (typeof object.reservedRange[i] !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected"); - message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i]); + message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i], long + 1); } } if (object.reservedName) { @@ -13640,6 +14967,26 @@ for (var i = 0; i < object.reservedName.length; ++i) message.reservedName[i] = String(object.reservedName[i]); } + switch (object.visibility) { + default: + if (typeof object.visibility === "number") { + message.visibility = object.visibility; + break; + } + break; + case "VISIBILITY_UNSET": + case 0: + message.visibility = 0; + break; + case "VISIBILITY_LOCAL": + case 1: + message.visibility = 1; + break; + case "VISIBILITY_EXPORT": + case 2: + message.visibility = 2; + break; + } return message; }; @@ -13664,6 +15011,7 @@ if (options.defaults) { object.name = ""; object.options = null; + object.visibility = options.enums === String ? "VISIBILITY_UNSET" : 0; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -13684,6 +15032,8 @@ for (var j = 0; j < message.reservedName.length; ++j) object.reservedName[j] = message.reservedName[j]; } + if (message.visibility != null && message.hasOwnProperty("visibility")) + object.visibility = options.enums === String ? $root.google.protobuf.SymbolVisibility[message.visibility] === undefined ? message.visibility : $root.google.protobuf.SymbolVisibility[message.visibility] : message.visibility; return object; }; @@ -13734,7 +15084,7 @@ function EnumReservedRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13809,9 +15159,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumReservedRange.decode = function decode(reader, length, error) { + EnumReservedRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13827,7 +15181,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13858,9 +15212,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumReservedRange.verify = function verify(message) { + EnumReservedRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -13878,9 +15236,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange */ - EnumReservedRange.fromObject = function fromObject(object) { + EnumReservedRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); if (object.start != null) message.start = object.start | 0; @@ -13967,7 +15329,7 @@ function EnumValueDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14052,9 +15414,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueDescriptorProto.decode = function decode(reader, length, error) { + EnumValueDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14070,11 +15436,11 @@ break; } case 3: { - message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14105,9 +15471,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumValueDescriptorProto.verify = function verify(message) { + EnumValueDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -14115,7 +15485,7 @@ if (!$util.isInteger(message.number)) return "number: integer expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumValueOptions.verify(message.options); + var error = $root.google.protobuf.EnumValueOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -14130,9 +15500,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto */ - EnumValueDescriptorProto.fromObject = function fromObject(object) { + EnumValueDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumValueDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumValueDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -14141,7 +15515,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options); + message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options, long + 1); } return message; }; @@ -14225,7 +15599,7 @@ this.method = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14311,9 +15685,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceDescriptorProto.decode = function decode(reader, length, error) { + ServiceDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14327,15 +15705,15 @@ case 2: { if (!(message.method && message.method.length)) message.method = []; - message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); + message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14366,9 +15744,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ServiceDescriptorProto.verify = function verify(message) { + ServiceDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -14376,13 +15758,13 @@ if (!Array.isArray(message.method)) return "method: array expected"; for (var i = 0; i < message.method.length; ++i) { - var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i]); + var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i], long + 1); if (error) return "method." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ServiceOptions.verify(message.options); + var error = $root.google.protobuf.ServiceOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -14397,9 +15779,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto */ - ServiceDescriptorProto.fromObject = function fromObject(object) { + ServiceDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ServiceDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ServiceDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -14410,13 +15796,13 @@ for (var i = 0; i < object.method.length; ++i) { if (typeof object.method[i] !== "object") throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected"); - message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i]); + message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options); + message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options, long + 1); } return message; }; @@ -14506,7 +15892,7 @@ function MethodDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14621,9 +16007,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodDescriptorProto.decode = function decode(reader, length, error) { + MethodDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14643,7 +16033,7 @@ break; } case 4: { - message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -14655,7 +16045,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14686,9 +16076,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodDescriptorProto.verify = function verify(message) { + MethodDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -14699,7 +16093,7 @@ if (!$util.isString(message.outputType)) return "outputType: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MethodOptions.verify(message.options); + var error = $root.google.protobuf.MethodOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -14720,9 +16114,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto */ - MethodDescriptorProto.fromObject = function fromObject(object) { + MethodDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MethodDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MethodDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -14733,7 +16131,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.MethodOptions.fromObject(object.options); + message.options = $root.google.protobuf.MethodOptions.fromObject(object.options, long + 1); } if (object.clientStreaming != null) message.clientStreaming = Boolean(object.clientStreaming); @@ -14850,7 +16248,7 @@ this[".google.api.resourceDefinition"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15127,9 +16525,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.decode = function decode(reader, length, error) { + FileOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15213,23 +16615,23 @@ break; } case 50: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1053: { if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length)) message[".google.api.resourceDefinition"] = []; - message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32())); + message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15260,9 +16662,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileOptions.verify = function verify(message) { + FileOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) if (!$util.isString(message.javaPackage)) return "javaPackage: string expected"; @@ -15327,7 +16733,7 @@ if (!$util.isString(message.rubyPackage)) return "rubyPackage: string expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -15335,7 +16741,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -15344,7 +16750,7 @@ if (!Array.isArray(message[".google.api.resourceDefinition"])) return ".google.api.resourceDefinition: array expected"; for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) { - var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i]); + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i], long + 1); if (error) return ".google.api.resourceDefinition." + error; } @@ -15360,9 +16766,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileOptions} FileOptions */ - FileOptions.fromObject = function fromObject(object) { + FileOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileOptions(); if (object.javaPackage != null) message.javaPackage = String(object.javaPackage); @@ -15423,7 +16833,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.FileOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -15432,7 +16842,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.resourceDefinition"]) { @@ -15442,7 +16852,7 @@ for (var i = 0; i < object[".google.api.resourceDefinition"].length; ++i) { if (typeof object[".google.api.resourceDefinition"][i] !== "object") throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: object expected"); - message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i]); + message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i], long + 1); } } return message; @@ -15613,7 +17023,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15749,9 +17159,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MessageOptions.decode = function decode(reader, length, error) { + MessageOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15779,21 +17193,21 @@ break; } case 12: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1053: { - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32()); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15824,9 +17238,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MessageOptions.verify = function verify(message) { + MessageOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) if (typeof message.messageSetWireFormat !== "boolean") return "messageSetWireFormat: boolean expected"; @@ -15843,7 +17261,7 @@ if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") return "deprecatedLegacyJsonFieldConflicts: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -15851,13 +17269,13 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } } if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) { - var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"]); + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"], long + 1); if (error) return ".google.api.resource." + error; } @@ -15872,9 +17290,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MessageOptions} MessageOptions */ - MessageOptions.fromObject = function fromObject(object) { + MessageOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MessageOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MessageOptions(); if (object.messageSetWireFormat != null) message.messageSetWireFormat = Boolean(object.messageSetWireFormat); @@ -15889,7 +17311,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.MessageOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -15898,13 +17320,13 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.resource"] != null) { if (typeof object[".google.api.resource"] !== "object") throw TypeError(".google.protobuf.MessageOptions..google.api.resource: object expected"); - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"]); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"], long + 1); } return message; }; @@ -16002,6 +17424,7 @@ * @property {Array.|null} [targets] FieldOptions targets * @property {Array.|null} [editionDefaults] FieldOptions editionDefaults * @property {google.protobuf.IFeatureSet|null} [features] FieldOptions features + * @property {google.protobuf.FieldOptions.IFeatureSupport|null} [featureSupport] FieldOptions featureSupport * @property {Array.|null} [uninterpretedOption] FieldOptions uninterpretedOption * @property {Array.|null} [".google.api.fieldBehavior"] FieldOptions .google.api.fieldBehavior * @property {google.api.IResourceReference|null} [".google.api.resourceReference"] FieldOptions .google.api.resourceReference @@ -16022,7 +17445,7 @@ this[".google.api.fieldBehavior"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16122,6 +17545,14 @@ */ FieldOptions.prototype.features = null; + /** + * FieldOptions featureSupport. + * @member {google.protobuf.FieldOptions.IFeatureSupport|null|undefined} featureSupport + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.featureSupport = null; + /** * FieldOptions uninterpretedOption. * @member {Array.} uninterpretedOption @@ -16196,6 +17627,8 @@ $root.google.protobuf.FieldOptions.EditionDefault.encode(message.editionDefaults[i], writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); if (message.features != null && Object.hasOwnProperty.call(message, "features")) $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.featureSupport != null && Object.hasOwnProperty.call(message, "featureSupport")) + $root.google.protobuf.FieldOptions.FeatureSupport.encode(message.featureSupport, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); @@ -16231,9 +17664,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldOptions.decode = function decode(reader, length, error) { + FieldOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16290,17 +17727,21 @@ case 20: { if (!(message.editionDefaults && message.editionDefaults.length)) message.editionDefaults = []; - message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32())); + message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 21: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); + break; + } + case 22: { + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1052: { @@ -16315,11 +17756,11 @@ break; } case 1055: { - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32()); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16350,9 +17791,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldOptions.verify = function verify(message) { + FieldOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ctype != null && message.hasOwnProperty("ctype")) switch (message.ctype) { default: @@ -16422,21 +17867,26 @@ if (!Array.isArray(message.editionDefaults)) return "editionDefaults: array expected"; for (var i = 0; i < message.editionDefaults.length; ++i) { - var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i]); + var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i], long + 1); if (error) return "editionDefaults." + error; } } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } + if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) { + var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport, long + 1); + if (error) + return "featureSupport." + error; + } if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -16461,7 +17911,7 @@ } } if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) { - var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"]); + var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"], long + 1); if (error) return ".google.api.resourceReference." + error; } @@ -16476,9 +17926,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions} FieldOptions */ - FieldOptions.fromObject = function fromObject(object) { + FieldOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions(); switch (object.ctype) { default: @@ -16612,13 +18066,18 @@ for (var i = 0; i < object.editionDefaults.length; ++i) { if (typeof object.editionDefaults[i] !== "object") throw TypeError(".google.protobuf.FieldOptions.editionDefaults: object expected"); - message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i]); + message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i], long + 1); } } if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.FieldOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); + } + if (object.featureSupport != null) { + if (typeof object.featureSupport !== "object") + throw TypeError(".google.protobuf.FieldOptions.featureSupport: object expected"); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -16627,7 +18086,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.fieldBehavior"]) { @@ -16682,7 +18141,7 @@ if (object[".google.api.resourceReference"] != null) { if (typeof object[".google.api.resourceReference"] !== "object") throw TypeError(".google.protobuf.FieldOptions..google.api.resourceReference: object expected"); - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"]); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"], long + 1); } return message; }; @@ -16717,6 +18176,7 @@ object.debugRedact = false; object.retention = options.enums === String ? "RETENTION_UNKNOWN" : 0; object.features = null; + object.featureSupport = null; object[".google.api.resourceReference"] = null; } if (message.ctype != null && message.hasOwnProperty("ctype")) @@ -16749,6 +18209,8 @@ } if (message.features != null && message.hasOwnProperty("features")) object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); + if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) + object.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.toObject(message.featureSupport, options); if (message.uninterpretedOption && message.uninterpretedOption.length) { object.uninterpretedOption = []; for (var j = 0; j < message.uninterpretedOption.length; ++j) @@ -16889,7 +18351,7 @@ function EditionDefault(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16964,9 +18426,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EditionDefault.decode = function decode(reader, length, error) { + EditionDefault.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.EditionDefault(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16982,7 +18448,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17013,14 +18479,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EditionDefault.verify = function verify(message) { + EditionDefault.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.edition != null && message.hasOwnProperty("edition")) switch (message.edition) { default: return "edition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -17047,9 +18518,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault */ - EditionDefault.fromObject = function fromObject(object) { + EditionDefault.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions.EditionDefault) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions.EditionDefault(); switch (object.edition) { default: @@ -17060,105 +18535,603 @@ break; case "EDITION_UNKNOWN": case 0: - message.edition = 0; + message.edition = 0; + break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; + case "EDITION_PROTO2": + case 998: + message.edition = 998; + break; + case "EDITION_PROTO3": + case 999: + message.edition = 999; + break; + case "EDITION_2023": + case 1000: + message.edition = 1000; + break; + case "EDITION_2024": + case 1001: + message.edition = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.edition = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.edition = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.edition = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.edition = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.edition = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.edition = 2147483647; + break; + } + if (object.value != null) + message.value = String(object.value); + return message; + }; + + /** + * Creates a plain object from an EditionDefault message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldOptions.EditionDefault + * @static + * @param {google.protobuf.FieldOptions.EditionDefault} message EditionDefault + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EditionDefault.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.value = ""; + object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; + } + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + if (message.edition != null && message.hasOwnProperty("edition")) + object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; + return object; + }; + + /** + * Converts this EditionDefault to JSON. + * @function toJSON + * @memberof google.protobuf.FieldOptions.EditionDefault + * @instance + * @returns {Object.} JSON object + */ + EditionDefault.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EditionDefault + * @function getTypeUrl + * @memberof google.protobuf.FieldOptions.EditionDefault + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EditionDefault.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldOptions.EditionDefault"; + }; + + return EditionDefault; + })(); + + FieldOptions.FeatureSupport = (function() { + + /** + * Properties of a FeatureSupport. + * @memberof google.protobuf.FieldOptions + * @interface IFeatureSupport + * @property {google.protobuf.Edition|null} [editionIntroduced] FeatureSupport editionIntroduced + * @property {google.protobuf.Edition|null} [editionDeprecated] FeatureSupport editionDeprecated + * @property {string|null} [deprecationWarning] FeatureSupport deprecationWarning + * @property {google.protobuf.Edition|null} [editionRemoved] FeatureSupport editionRemoved + */ + + /** + * Constructs a new FeatureSupport. + * @memberof google.protobuf.FieldOptions + * @classdesc Represents a FeatureSupport. + * @implements IFeatureSupport + * @constructor + * @param {google.protobuf.FieldOptions.IFeatureSupport=} [properties] Properties to set + */ + function FeatureSupport(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * FeatureSupport editionIntroduced. + * @member {google.protobuf.Edition} editionIntroduced + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + */ + FeatureSupport.prototype.editionIntroduced = 0; + + /** + * FeatureSupport editionDeprecated. + * @member {google.protobuf.Edition} editionDeprecated + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + */ + FeatureSupport.prototype.editionDeprecated = 0; + + /** + * FeatureSupport deprecationWarning. + * @member {string} deprecationWarning + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + */ + FeatureSupport.prototype.deprecationWarning = ""; + + /** + * FeatureSupport editionRemoved. + * @member {google.protobuf.Edition} editionRemoved + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + */ + FeatureSupport.prototype.editionRemoved = 0; + + /** + * Creates a new FeatureSupport instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {google.protobuf.FieldOptions.IFeatureSupport=} [properties] Properties to set + * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport instance + */ + FeatureSupport.create = function create(properties) { + return new FeatureSupport(properties); + }; + + /** + * Encodes the specified FeatureSupport message. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {google.protobuf.FieldOptions.IFeatureSupport} message FeatureSupport message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FeatureSupport.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.editionIntroduced != null && Object.hasOwnProperty.call(message, "editionIntroduced")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.editionIntroduced); + if (message.editionDeprecated != null && Object.hasOwnProperty.call(message, "editionDeprecated")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.editionDeprecated); + if (message.deprecationWarning != null && Object.hasOwnProperty.call(message, "deprecationWarning")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.deprecationWarning); + if (message.editionRemoved != null && Object.hasOwnProperty.call(message, "editionRemoved")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.editionRemoved); + return writer; + }; + + /** + * Encodes the specified FeatureSupport message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {google.protobuf.FieldOptions.IFeatureSupport} message FeatureSupport message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FeatureSupport.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FeatureSupport.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.FeatureSupport(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.editionIntroduced = reader.int32(); + break; + } + case 2: { + message.editionDeprecated = reader.int32(); + break; + } + case 3: { + message.deprecationWarning = reader.string(); + break; + } + case 4: { + message.editionRemoved = reader.int32(); + break; + } + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FeatureSupport.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FeatureSupport message. + * @function verify + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FeatureSupport.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + if (message.editionIntroduced != null && message.hasOwnProperty("editionIntroduced")) + switch (message.editionIntroduced) { + default: + return "editionIntroduced: enum value expected"; + case 0: + case 900: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + if (message.editionDeprecated != null && message.hasOwnProperty("editionDeprecated")) + switch (message.editionDeprecated) { + default: + return "editionDeprecated: enum value expected"; + case 0: + case 900: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + if (message.deprecationWarning != null && message.hasOwnProperty("deprecationWarning")) + if (!$util.isString(message.deprecationWarning)) + return "deprecationWarning: string expected"; + if (message.editionRemoved != null && message.hasOwnProperty("editionRemoved")) + switch (message.editionRemoved) { + default: + return "editionRemoved: enum value expected"; + case 0: + case 900: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + return null; + }; + + /** + * Creates a FeatureSupport message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport + */ + FeatureSupport.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.protobuf.FieldOptions.FeatureSupport) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var message = new $root.google.protobuf.FieldOptions.FeatureSupport(); + switch (object.editionIntroduced) { + default: + if (typeof object.editionIntroduced === "number") { + message.editionIntroduced = object.editionIntroduced; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.editionIntroduced = 0; + break; + case "EDITION_LEGACY": + case 900: + message.editionIntroduced = 900; + break; + case "EDITION_PROTO2": + case 998: + message.editionIntroduced = 998; + break; + case "EDITION_PROTO3": + case 999: + message.editionIntroduced = 999; + break; + case "EDITION_2023": + case 1000: + message.editionIntroduced = 1000; + break; + case "EDITION_2024": + case 1001: + message.editionIntroduced = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.editionIntroduced = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.editionIntroduced = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.editionIntroduced = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.editionIntroduced = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.editionIntroduced = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.editionIntroduced = 2147483647; + break; + } + switch (object.editionDeprecated) { + default: + if (typeof object.editionDeprecated === "number") { + message.editionDeprecated = object.editionDeprecated; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.editionDeprecated = 0; + break; + case "EDITION_LEGACY": + case 900: + message.editionDeprecated = 900; + break; + case "EDITION_PROTO2": + case 998: + message.editionDeprecated = 998; + break; + case "EDITION_PROTO3": + case 999: + message.editionDeprecated = 999; + break; + case "EDITION_2023": + case 1000: + message.editionDeprecated = 1000; + break; + case "EDITION_2024": + case 1001: + message.editionDeprecated = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.editionDeprecated = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.editionDeprecated = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.editionDeprecated = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.editionDeprecated = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.editionDeprecated = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.editionDeprecated = 2147483647; + break; + } + if (object.deprecationWarning != null) + message.deprecationWarning = String(object.deprecationWarning); + switch (object.editionRemoved) { + default: + if (typeof object.editionRemoved === "number") { + message.editionRemoved = object.editionRemoved; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.editionRemoved = 0; + break; + case "EDITION_LEGACY": + case 900: + message.editionRemoved = 900; break; case "EDITION_PROTO2": case 998: - message.edition = 998; + message.editionRemoved = 998; break; case "EDITION_PROTO3": case 999: - message.edition = 999; + message.editionRemoved = 999; break; case "EDITION_2023": case 1000: - message.edition = 1000; + message.editionRemoved = 1000; break; case "EDITION_2024": case 1001: - message.edition = 1001; + message.editionRemoved = 1001; break; case "EDITION_1_TEST_ONLY": case 1: - message.edition = 1; + message.editionRemoved = 1; break; case "EDITION_2_TEST_ONLY": case 2: - message.edition = 2; + message.editionRemoved = 2; break; case "EDITION_99997_TEST_ONLY": case 99997: - message.edition = 99997; + message.editionRemoved = 99997; break; case "EDITION_99998_TEST_ONLY": case 99998: - message.edition = 99998; + message.editionRemoved = 99998; break; case "EDITION_99999_TEST_ONLY": case 99999: - message.edition = 99999; + message.editionRemoved = 99999; break; case "EDITION_MAX": case 2147483647: - message.edition = 2147483647; + message.editionRemoved = 2147483647; break; } - if (object.value != null) - message.value = String(object.value); return message; }; /** - * Creates a plain object from an EditionDefault message. Also converts values to other types if specified. + * Creates a plain object from a FeatureSupport message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.FieldOptions.EditionDefault + * @memberof google.protobuf.FieldOptions.FeatureSupport * @static - * @param {google.protobuf.FieldOptions.EditionDefault} message EditionDefault + * @param {google.protobuf.FieldOptions.FeatureSupport} message FeatureSupport * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - EditionDefault.toObject = function toObject(message, options) { + FeatureSupport.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.value = ""; - object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; + object.editionIntroduced = options.enums === String ? "EDITION_UNKNOWN" : 0; + object.editionDeprecated = options.enums === String ? "EDITION_UNKNOWN" : 0; + object.deprecationWarning = ""; + object.editionRemoved = options.enums === String ? "EDITION_UNKNOWN" : 0; } - if (message.value != null && message.hasOwnProperty("value")) - object.value = message.value; - if (message.edition != null && message.hasOwnProperty("edition")) - object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; + if (message.editionIntroduced != null && message.hasOwnProperty("editionIntroduced")) + object.editionIntroduced = options.enums === String ? $root.google.protobuf.Edition[message.editionIntroduced] === undefined ? message.editionIntroduced : $root.google.protobuf.Edition[message.editionIntroduced] : message.editionIntroduced; + if (message.editionDeprecated != null && message.hasOwnProperty("editionDeprecated")) + object.editionDeprecated = options.enums === String ? $root.google.protobuf.Edition[message.editionDeprecated] === undefined ? message.editionDeprecated : $root.google.protobuf.Edition[message.editionDeprecated] : message.editionDeprecated; + if (message.deprecationWarning != null && message.hasOwnProperty("deprecationWarning")) + object.deprecationWarning = message.deprecationWarning; + if (message.editionRemoved != null && message.hasOwnProperty("editionRemoved")) + object.editionRemoved = options.enums === String ? $root.google.protobuf.Edition[message.editionRemoved] === undefined ? message.editionRemoved : $root.google.protobuf.Edition[message.editionRemoved] : message.editionRemoved; return object; }; /** - * Converts this EditionDefault to JSON. + * Converts this FeatureSupport to JSON. * @function toJSON - * @memberof google.protobuf.FieldOptions.EditionDefault + * @memberof google.protobuf.FieldOptions.FeatureSupport * @instance * @returns {Object.} JSON object */ - EditionDefault.prototype.toJSON = function toJSON() { + FeatureSupport.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** - * Gets the default type url for EditionDefault + * Gets the default type url for FeatureSupport * @function getTypeUrl - * @memberof google.protobuf.FieldOptions.EditionDefault + * @memberof google.protobuf.FieldOptions.FeatureSupport * @static * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") * @returns {string} The default type url */ - EditionDefault.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + FeatureSupport.getTypeUrl = function getTypeUrl(typeUrlPrefix) { if (typeUrlPrefix === undefined) { typeUrlPrefix = "type.googleapis.com"; } - return typeUrlPrefix + "/google.protobuf.FieldOptions.EditionDefault"; + return typeUrlPrefix + "/google.protobuf.FieldOptions.FeatureSupport"; }; - return EditionDefault; + return FeatureSupport; })(); return FieldOptions; @@ -17186,7 +19159,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17262,9 +19235,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofOptions.decode = function decode(reader, length, error) { + OneofOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17272,17 +19249,17 @@ break; switch (tag >>> 3) { case 1: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17313,11 +19290,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OneofOptions.verify = function verify(message) { + OneofOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -17325,7 +19306,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -17341,14 +19322,18 @@ * @param {Object.} object Plain object * @returns {google.protobuf.OneofOptions} OneofOptions */ - OneofOptions.fromObject = function fromObject(object) { + OneofOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.OneofOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.OneofOptions(); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.OneofOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -17357,7 +19342,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -17444,7 +19429,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17550,9 +19535,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumOptions.decode = function decode(reader, length, error) { + EnumOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17572,17 +19561,17 @@ break; } case 7: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17613,9 +19602,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumOptions.verify = function verify(message) { + EnumOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) if (typeof message.allowAlias !== "boolean") return "allowAlias: boolean expected"; @@ -17626,7 +19619,7 @@ if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") return "deprecatedLegacyJsonFieldConflicts: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -17634,7 +19627,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -17650,9 +19643,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumOptions} EnumOptions */ - EnumOptions.fromObject = function fromObject(object) { + EnumOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumOptions(); if (object.allowAlias != null) message.allowAlias = Boolean(object.allowAlias); @@ -17663,7 +19660,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.EnumOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -17672,7 +19669,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -17753,6 +19750,7 @@ * @property {boolean|null} [deprecated] EnumValueOptions deprecated * @property {google.protobuf.IFeatureSet|null} [features] EnumValueOptions features * @property {boolean|null} [debugRedact] EnumValueOptions debugRedact + * @property {google.protobuf.FieldOptions.IFeatureSupport|null} [featureSupport] EnumValueOptions featureSupport * @property {Array.|null} [uninterpretedOption] EnumValueOptions uninterpretedOption */ @@ -17768,7 +19766,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17796,6 +19794,14 @@ */ EnumValueOptions.prototype.debugRedact = false; + /** + * EnumValueOptions featureSupport. + * @member {google.protobuf.FieldOptions.IFeatureSupport|null|undefined} featureSupport + * @memberof google.protobuf.EnumValueOptions + * @instance + */ + EnumValueOptions.prototype.featureSupport = null; + /** * EnumValueOptions uninterpretedOption. * @member {Array.} uninterpretedOption @@ -17834,6 +19840,8 @@ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.debugRedact != null && Object.hasOwnProperty.call(message, "debugRedact")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.debugRedact); + if (message.featureSupport != null && Object.hasOwnProperty.call(message, "featureSupport")) + $root.google.protobuf.FieldOptions.FeatureSupport.encode(message.featureSupport, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); @@ -17864,9 +19872,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueOptions.decode = function decode(reader, length, error) { + EnumValueOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17878,21 +19890,25 @@ break; } case 2: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { message.debugRedact = reader.bool(); break; } + case 4: { + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32(), undefined, long + 1); + break; + } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17923,25 +19939,34 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumValueOptions.verify = function verify(message) { + EnumValueOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.deprecated != null && message.hasOwnProperty("deprecated")) if (typeof message.deprecated !== "boolean") return "deprecated: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) if (typeof message.debugRedact !== "boolean") return "debugRedact: boolean expected"; + if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) { + var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport, long + 1); + if (error) + return "featureSupport." + error; + } if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -17957,19 +19982,28 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumValueOptions} EnumValueOptions */ - EnumValueOptions.fromObject = function fromObject(object) { + EnumValueOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumValueOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumValueOptions(); if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.EnumValueOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.debugRedact != null) message.debugRedact = Boolean(object.debugRedact); + if (object.featureSupport != null) { + if (typeof object.featureSupport !== "object") + throw TypeError(".google.protobuf.EnumValueOptions.featureSupport: object expected"); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport, long + 1); + } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected"); @@ -17977,7 +20011,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -18002,6 +20036,7 @@ object.deprecated = false; object.features = null; object.debugRedact = false; + object.featureSupport = null; } if (message.deprecated != null && message.hasOwnProperty("deprecated")) object.deprecated = message.deprecated; @@ -18009,6 +20044,8 @@ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) object.debugRedact = message.debugRedact; + if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) + object.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.toObject(message.featureSupport, options); if (message.uninterpretedOption && message.uninterpretedOption.length) { object.uninterpretedOption = []; for (var j = 0; j < message.uninterpretedOption.length; ++j) @@ -18072,7 +20109,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18188,9 +20225,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceOptions.decode = function decode(reader, length, error) { + ServiceOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18198,7 +20239,7 @@ break; switch (tag >>> 3) { case 34: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 33: { @@ -18208,7 +20249,7 @@ case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1049: { @@ -18224,7 +20265,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18255,11 +20296,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ServiceOptions.verify = function verify(message) { + ServiceOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -18270,7 +20315,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -18295,14 +20340,18 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ServiceOptions} ServiceOptions */ - ServiceOptions.fromObject = function fromObject(object) { + ServiceOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ServiceOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ServiceOptions(); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.ServiceOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); @@ -18313,7 +20362,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.defaultHost"] != null) @@ -18422,7 +20471,7 @@ this[".google.api.methodSignature"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18549,9 +20598,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodOptions.decode = function decode(reader, length, error) { + MethodOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18567,17 +20620,17 @@ break; } case 35: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 72295728: { - message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32()); + message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1051: { @@ -18587,11 +20640,11 @@ break; } case 1049: { - message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32()); + message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18622,9 +20675,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodOptions.verify = function verify(message) { + MethodOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.deprecated != null && message.hasOwnProperty("deprecated")) if (typeof message.deprecated !== "boolean") return "deprecated: boolean expected"; @@ -18638,7 +20695,7 @@ break; } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -18646,13 +20703,13 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } } if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) { - var error = $root.google.api.HttpRule.verify(message[".google.api.http"]); + var error = $root.google.api.HttpRule.verify(message[".google.api.http"], long + 1); if (error) return ".google.api.http." + error; } @@ -18664,7 +20721,7 @@ return ".google.api.methodSignature: string[] expected"; } if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo")) { - var error = $root.google.longrunning.OperationInfo.verify(message[".google.longrunning.operationInfo"]); + var error = $root.google.longrunning.OperationInfo.verify(message[".google.longrunning.operationInfo"], long + 1); if (error) return ".google.longrunning.operationInfo." + error; } @@ -18679,9 +20736,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MethodOptions} MethodOptions */ - MethodOptions.fromObject = function fromObject(object) { + MethodOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MethodOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MethodOptions(); if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); @@ -18708,7 +20769,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.MethodOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -18717,13 +20778,13 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.http"] != null) { if (typeof object[".google.api.http"] !== "object") throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected"); - message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"]); + message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"], long + 1); } if (object[".google.api.methodSignature"]) { if (!Array.isArray(object[".google.api.methodSignature"])) @@ -18735,7 +20796,7 @@ if (object[".google.longrunning.operationInfo"] != null) { if (typeof object[".google.longrunning.operationInfo"] !== "object") throw TypeError(".google.protobuf.MethodOptions..google.longrunning.operationInfo: object expected"); - message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.fromObject(object[".google.longrunning.operationInfo"]); + message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.fromObject(object[".google.longrunning.operationInfo"], long + 1); } return message; }; @@ -18859,7 +20920,7 @@ this.name = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18985,9 +21046,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UninterpretedOption.decode = function decode(reader, length, error) { + UninterpretedOption.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18997,7 +21062,7 @@ case 2: { if (!(message.name && message.name.length)) message.name = []; - message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); + message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -19025,7 +21090,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19056,14 +21121,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UninterpretedOption.verify = function verify(message) { + UninterpretedOption.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) { if (!Array.isArray(message.name)) return "name: array expected"; for (var i = 0; i < message.name.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i]); + var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i], long + 1); if (error) return "name." + error; } @@ -19097,9 +21166,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.UninterpretedOption} UninterpretedOption */ - UninterpretedOption.fromObject = function fromObject(object) { + UninterpretedOption.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.UninterpretedOption) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.UninterpretedOption(); if (object.name) { if (!Array.isArray(object.name)) @@ -19108,7 +21181,7 @@ for (var i = 0; i < object.name.length; ++i) { if (typeof object.name[i] !== "object") throw TypeError(".google.protobuf.UninterpretedOption.name: object expected"); - message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i]); + message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i], long + 1); } } if (object.identifierValue != null) @@ -19253,7 +21326,7 @@ function NamePart(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19326,9 +21399,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NamePart.decode = function decode(reader, length, error) { + NamePart.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19344,7 +21421,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19379,9 +21456,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NamePart.verify = function verify(message) { + NamePart.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (!$util.isString(message.namePart)) return "namePart: string expected"; if (typeof message.isExtension !== "boolean") @@ -19397,9 +21478,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart */ - NamePart.fromObject = function fromObject(object) { + NamePart.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.UninterpretedOption.NamePart) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.UninterpretedOption.NamePart(); if (object.namePart != null) message.namePart = String(object.namePart); @@ -19476,6 +21561,8 @@ * @property {google.protobuf.FeatureSet.Utf8Validation|null} [utf8Validation] FeatureSet utf8Validation * @property {google.protobuf.FeatureSet.MessageEncoding|null} [messageEncoding] FeatureSet messageEncoding * @property {google.protobuf.FeatureSet.JsonFormat|null} [jsonFormat] FeatureSet jsonFormat + * @property {google.protobuf.FeatureSet.EnforceNamingStyle|null} [enforceNamingStyle] FeatureSet enforceNamingStyle + * @property {google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|null} [defaultSymbolVisibility] FeatureSet defaultSymbolVisibility */ /** @@ -19489,7 +21576,7 @@ function FeatureSet(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19541,6 +21628,22 @@ */ FeatureSet.prototype.jsonFormat = 0; + /** + * FeatureSet enforceNamingStyle. + * @member {google.protobuf.FeatureSet.EnforceNamingStyle} enforceNamingStyle + * @memberof google.protobuf.FeatureSet + * @instance + */ + FeatureSet.prototype.enforceNamingStyle = 0; + + /** + * FeatureSet defaultSymbolVisibility. + * @member {google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility} defaultSymbolVisibility + * @memberof google.protobuf.FeatureSet + * @instance + */ + FeatureSet.prototype.defaultSymbolVisibility = 0; + /** * Creates a new FeatureSet instance using the specified properties. * @function create @@ -19577,6 +21680,10 @@ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.messageEncoding); if (message.jsonFormat != null && Object.hasOwnProperty.call(message, "jsonFormat")) writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jsonFormat); + if (message.enforceNamingStyle != null && Object.hasOwnProperty.call(message, "enforceNamingStyle")) + writer.uint32(/* id 7, wireType 0 =*/56).int32(message.enforceNamingStyle); + if (message.defaultSymbolVisibility != null && Object.hasOwnProperty.call(message, "defaultSymbolVisibility")) + writer.uint32(/* id 8, wireType 0 =*/64).int32(message.defaultSymbolVisibility); return writer; }; @@ -19604,9 +21711,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSet.decode = function decode(reader, length, error) { + FeatureSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19637,8 +21748,16 @@ message.jsonFormat = reader.int32(); break; } + case 7: { + message.enforceNamingStyle = reader.int32(); + break; + } + case 8: { + message.defaultSymbolVisibility = reader.int32(); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19669,9 +21788,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSet.verify = function verify(message) { + FeatureSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence")) switch (message.fieldPresence) { default: @@ -19727,6 +21850,26 @@ case 2: break; } + if (message.enforceNamingStyle != null && message.hasOwnProperty("enforceNamingStyle")) + switch (message.enforceNamingStyle) { + default: + return "enforceNamingStyle: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.defaultSymbolVisibility != null && message.hasOwnProperty("defaultSymbolVisibility")) + switch (message.defaultSymbolVisibility) { + default: + return "defaultSymbolVisibility: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } return null; }; @@ -19738,9 +21881,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSet} FeatureSet */ - FeatureSet.fromObject = function fromObject(object) { + FeatureSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSet(); switch (object.fieldPresence) { default: @@ -19866,6 +22013,54 @@ message.jsonFormat = 2; break; } + switch (object.enforceNamingStyle) { + default: + if (typeof object.enforceNamingStyle === "number") { + message.enforceNamingStyle = object.enforceNamingStyle; + break; + } + break; + case "ENFORCE_NAMING_STYLE_UNKNOWN": + case 0: + message.enforceNamingStyle = 0; + break; + case "STYLE2024": + case 1: + message.enforceNamingStyle = 1; + break; + case "STYLE_LEGACY": + case 2: + message.enforceNamingStyle = 2; + break; + } + switch (object.defaultSymbolVisibility) { + default: + if (typeof object.defaultSymbolVisibility === "number") { + message.defaultSymbolVisibility = object.defaultSymbolVisibility; + break; + } + break; + case "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": + case 0: + message.defaultSymbolVisibility = 0; + break; + case "EXPORT_ALL": + case 1: + message.defaultSymbolVisibility = 1; + break; + case "EXPORT_TOP_LEVEL": + case 2: + message.defaultSymbolVisibility = 2; + break; + case "LOCAL_ALL": + case 3: + message.defaultSymbolVisibility = 3; + break; + case "STRICT": + case 4: + message.defaultSymbolVisibility = 4; + break; + } return message; }; @@ -19889,6 +22084,8 @@ object.utf8Validation = options.enums === String ? "UTF8_VALIDATION_UNKNOWN" : 0; object.messageEncoding = options.enums === String ? "MESSAGE_ENCODING_UNKNOWN" : 0; object.jsonFormat = options.enums === String ? "JSON_FORMAT_UNKNOWN" : 0; + object.enforceNamingStyle = options.enums === String ? "ENFORCE_NAMING_STYLE_UNKNOWN" : 0; + object.defaultSymbolVisibility = options.enums === String ? "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN" : 0; } if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence")) object.fieldPresence = options.enums === String ? $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] === undefined ? message.fieldPresence : $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] : message.fieldPresence; @@ -19902,6 +22099,10 @@ object.messageEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] === undefined ? message.messageEncoding : $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] : message.messageEncoding; if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat")) object.jsonFormat = options.enums === String ? $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] === undefined ? message.jsonFormat : $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] : message.jsonFormat; + if (message.enforceNamingStyle != null && message.hasOwnProperty("enforceNamingStyle")) + object.enforceNamingStyle = options.enums === String ? $root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle] === undefined ? message.enforceNamingStyle : $root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle] : message.enforceNamingStyle; + if (message.defaultSymbolVisibility != null && message.hasOwnProperty("defaultSymbolVisibility")) + object.defaultSymbolVisibility = options.enums === String ? $root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility] === undefined ? message.defaultSymbolVisibility : $root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility] : message.defaultSymbolVisibility; return object; }; @@ -20029,6 +22230,231 @@ return values; })(); + /** + * EnforceNamingStyle enum. + * @name google.protobuf.FeatureSet.EnforceNamingStyle + * @enum {number} + * @property {number} ENFORCE_NAMING_STYLE_UNKNOWN=0 ENFORCE_NAMING_STYLE_UNKNOWN value + * @property {number} STYLE2024=1 STYLE2024 value + * @property {number} STYLE_LEGACY=2 STYLE_LEGACY value + */ + FeatureSet.EnforceNamingStyle = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "ENFORCE_NAMING_STYLE_UNKNOWN"] = 0; + values[valuesById[1] = "STYLE2024"] = 1; + values[valuesById[2] = "STYLE_LEGACY"] = 2; + return values; + })(); + + FeatureSet.VisibilityFeature = (function() { + + /** + * Properties of a VisibilityFeature. + * @memberof google.protobuf.FeatureSet + * @interface IVisibilityFeature + */ + + /** + * Constructs a new VisibilityFeature. + * @memberof google.protobuf.FeatureSet + * @classdesc Represents a VisibilityFeature. + * @implements IVisibilityFeature + * @constructor + * @param {google.protobuf.FeatureSet.IVisibilityFeature=} [properties] Properties to set + */ + function VisibilityFeature(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new VisibilityFeature instance using the specified properties. + * @function create + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {google.protobuf.FeatureSet.IVisibilityFeature=} [properties] Properties to set + * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature instance + */ + VisibilityFeature.create = function create(properties) { + return new VisibilityFeature(properties); + }; + + /** + * Encodes the specified VisibilityFeature message. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {google.protobuf.FeatureSet.IVisibilityFeature} message VisibilityFeature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VisibilityFeature.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified VisibilityFeature message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {google.protobuf.FeatureSet.IVisibilityFeature} message VisibilityFeature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VisibilityFeature.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VisibilityFeature.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet.VisibilityFeature(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VisibilityFeature.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VisibilityFeature message. + * @function verify + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VisibilityFeature.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + return null; + }; + + /** + * Creates a VisibilityFeature message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature + */ + VisibilityFeature.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.protobuf.FeatureSet.VisibilityFeature) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + return new $root.google.protobuf.FeatureSet.VisibilityFeature(); + }; + + /** + * Creates a plain object from a VisibilityFeature message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {google.protobuf.FeatureSet.VisibilityFeature} message VisibilityFeature + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VisibilityFeature.toObject = function toObject() { + return {}; + }; + + /** + * Converts this VisibilityFeature to JSON. + * @function toJSON + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @instance + * @returns {Object.} JSON object + */ + VisibilityFeature.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for VisibilityFeature + * @function getTypeUrl + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VisibilityFeature.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FeatureSet.VisibilityFeature"; + }; + + /** + * DefaultSymbolVisibility enum. + * @name google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility + * @enum {number} + * @property {number} DEFAULT_SYMBOL_VISIBILITY_UNKNOWN=0 DEFAULT_SYMBOL_VISIBILITY_UNKNOWN value + * @property {number} EXPORT_ALL=1 EXPORT_ALL value + * @property {number} EXPORT_TOP_LEVEL=2 EXPORT_TOP_LEVEL value + * @property {number} LOCAL_ALL=3 LOCAL_ALL value + * @property {number} STRICT=4 STRICT value + */ + VisibilityFeature.DefaultSymbolVisibility = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN"] = 0; + values[valuesById[1] = "EXPORT_ALL"] = 1; + values[valuesById[2] = "EXPORT_TOP_LEVEL"] = 2; + values[valuesById[3] = "LOCAL_ALL"] = 3; + values[valuesById[4] = "STRICT"] = 4; + return values; + })(); + + return VisibilityFeature; + })(); + return FeatureSet; })(); @@ -20055,7 +22481,7 @@ this.defaults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20141,9 +22567,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSetDefaults.decode = function decode(reader, length, error) { + FeatureSetDefaults.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20153,7 +22583,7 @@ case 1: { if (!(message.defaults && message.defaults.length)) message.defaults = []; - message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32())); + message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { @@ -20165,7 +22595,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20196,14 +22626,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSetDefaults.verify = function verify(message) { + FeatureSetDefaults.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.defaults != null && message.hasOwnProperty("defaults")) { if (!Array.isArray(message.defaults)) return "defaults: array expected"; for (var i = 0; i < message.defaults.length; ++i) { - var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i]); + var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i], long + 1); if (error) return "defaults." + error; } @@ -20213,6 +22647,7 @@ default: return "minimumEdition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -20230,6 +22665,7 @@ default: return "maximumEdition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -20253,9 +22689,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults */ - FeatureSetDefaults.fromObject = function fromObject(object) { + FeatureSetDefaults.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSetDefaults) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSetDefaults(); if (object.defaults) { if (!Array.isArray(object.defaults)) @@ -20264,7 +22704,7 @@ for (var i = 0; i < object.defaults.length; ++i) { if (typeof object.defaults[i] !== "object") throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: object expected"); - message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i]); + message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i], long + 1); } } switch (object.minimumEdition) { @@ -20278,6 +22718,10 @@ case 0: message.minimumEdition = 0; break; + case "EDITION_LEGACY": + case 900: + message.minimumEdition = 900; + break; case "EDITION_PROTO2": case 998: message.minimumEdition = 998; @@ -20330,6 +22774,10 @@ case 0: message.maximumEdition = 0; break; + case "EDITION_LEGACY": + case 900: + message.maximumEdition = 900; + break; case "EDITION_PROTO2": case 998: message.maximumEdition = 998; @@ -20438,7 +22886,8 @@ * @memberof google.protobuf.FeatureSetDefaults * @interface IFeatureSetEditionDefault * @property {google.protobuf.Edition|null} [edition] FeatureSetEditionDefault edition - * @property {google.protobuf.IFeatureSet|null} [features] FeatureSetEditionDefault features + * @property {google.protobuf.IFeatureSet|null} [overridableFeatures] FeatureSetEditionDefault overridableFeatures + * @property {google.protobuf.IFeatureSet|null} [fixedFeatures] FeatureSetEditionDefault fixedFeatures */ /** @@ -20452,7 +22901,7 @@ function FeatureSetEditionDefault(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20465,12 +22914,20 @@ FeatureSetEditionDefault.prototype.edition = 0; /** - * FeatureSetEditionDefault features. - * @member {google.protobuf.IFeatureSet|null|undefined} features + * FeatureSetEditionDefault overridableFeatures. + * @member {google.protobuf.IFeatureSet|null|undefined} overridableFeatures + * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + * @instance + */ + FeatureSetEditionDefault.prototype.overridableFeatures = null; + + /** + * FeatureSetEditionDefault fixedFeatures. + * @member {google.protobuf.IFeatureSet|null|undefined} fixedFeatures * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault * @instance */ - FeatureSetEditionDefault.prototype.features = null; + FeatureSetEditionDefault.prototype.fixedFeatures = null; /** * Creates a new FeatureSetEditionDefault instance using the specified properties. @@ -20496,10 +22953,12 @@ FeatureSetEditionDefault.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.features != null && Object.hasOwnProperty.call(message, "features")) - $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.edition); + if (message.overridableFeatures != null && Object.hasOwnProperty.call(message, "overridableFeatures")) + $root.google.protobuf.FeatureSet.encode(message.overridableFeatures, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.fixedFeatures != null && Object.hasOwnProperty.call(message, "fixedFeatures")) + $root.google.protobuf.FeatureSet.encode(message.fixedFeatures, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -20527,9 +22986,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSetEditionDefault.decode = function decode(reader, length, error) { + FeatureSetEditionDefault.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20540,12 +23003,16 @@ message.edition = reader.int32(); break; } - case 2: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + case 4: { + message.overridableFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); + break; + } + case 5: { + message.fixedFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20576,14 +23043,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSetEditionDefault.verify = function verify(message) { + FeatureSetEditionDefault.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.edition != null && message.hasOwnProperty("edition")) switch (message.edition) { default: return "edition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -20596,10 +23068,15 @@ case 2147483647: break; } - if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures")) { + var error = $root.google.protobuf.FeatureSet.verify(message.overridableFeatures, long + 1); + if (error) + return "overridableFeatures." + error; + } + if (message.fixedFeatures != null && message.hasOwnProperty("fixedFeatures")) { + var error = $root.google.protobuf.FeatureSet.verify(message.fixedFeatures, long + 1); if (error) - return "features." + error; + return "fixedFeatures." + error; } return null; }; @@ -20612,9 +23089,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault */ - FeatureSetEditionDefault.fromObject = function fromObject(object) { + FeatureSetEditionDefault.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); switch (object.edition) { default: @@ -20627,6 +23108,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -20668,10 +23153,15 @@ message.edition = 2147483647; break; } - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + if (object.overridableFeatures != null) { + if (typeof object.overridableFeatures !== "object") + throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridableFeatures: object expected"); + message.overridableFeatures = $root.google.protobuf.FeatureSet.fromObject(object.overridableFeatures, long + 1); + } + if (object.fixedFeatures != null) { + if (typeof object.fixedFeatures !== "object") + throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixedFeatures: object expected"); + message.fixedFeatures = $root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures, long + 1); } return message; }; @@ -20690,13 +23180,16 @@ options = {}; var object = {}; if (options.defaults) { - object.features = null; object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; + object.overridableFeatures = null; + object.fixedFeatures = null; } - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); if (message.edition != null && message.hasOwnProperty("edition")) object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; + if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures")) + object.overridableFeatures = $root.google.protobuf.FeatureSet.toObject(message.overridableFeatures, options); + if (message.fixedFeatures != null && message.hasOwnProperty("fixedFeatures")) + object.fixedFeatures = $root.google.protobuf.FeatureSet.toObject(message.fixedFeatures, options); return object; }; @@ -20753,7 +23246,7 @@ this.location = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20819,9 +23312,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SourceCodeInfo.decode = function decode(reader, length, error) { + SourceCodeInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20831,11 +23328,11 @@ case 1: { if (!(message.location && message.location.length)) message.location = []; - message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); + message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20866,14 +23363,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SourceCodeInfo.verify = function verify(message) { + SourceCodeInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.location != null && message.hasOwnProperty("location")) { if (!Array.isArray(message.location)) return "location: array expected"; for (var i = 0; i < message.location.length; ++i) { - var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i]); + var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i], long + 1); if (error) return "location." + error; } @@ -20889,9 +23390,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo */ - SourceCodeInfo.fromObject = function fromObject(object) { + SourceCodeInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.SourceCodeInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.SourceCodeInfo(); if (object.location) { if (!Array.isArray(object.location)) @@ -20900,7 +23405,7 @@ for (var i = 0; i < object.location.length; ++i) { if (typeof object.location[i] !== "object") throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected"); - message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i]); + message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i], long + 1); } } return message; @@ -20982,7 +23487,7 @@ this.leadingDetachedComments = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21096,9 +23601,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Location.decode = function decode(reader, length, error) { + Location.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo.Location(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21142,7 +23651,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21173,9 +23682,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Location.verify = function verify(message) { + Location.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.path != null && message.hasOwnProperty("path")) { if (!Array.isArray(message.path)) return "path: array expected"; @@ -21214,9 +23727,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.SourceCodeInfo.Location} Location */ - Location.fromObject = function fromObject(object) { + Location.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.SourceCodeInfo.Location) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.SourceCodeInfo.Location(); if (object.path) { if (!Array.isArray(object.path)) @@ -21343,7 +23860,7 @@ this.annotation = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21409,9 +23926,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeneratedCodeInfo.decode = function decode(reader, length, error) { + GeneratedCodeInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21421,11 +23942,11 @@ case 1: { if (!(message.annotation && message.annotation.length)) message.annotation = []; - message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); + message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21456,14 +23977,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GeneratedCodeInfo.verify = function verify(message) { + GeneratedCodeInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.annotation != null && message.hasOwnProperty("annotation")) { if (!Array.isArray(message.annotation)) return "annotation: array expected"; for (var i = 0; i < message.annotation.length; ++i) { - var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i]); + var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i], long + 1); if (error) return "annotation." + error; } @@ -21479,9 +24004,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo */ - GeneratedCodeInfo.fromObject = function fromObject(object) { + GeneratedCodeInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.GeneratedCodeInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.GeneratedCodeInfo(); if (object.annotation) { if (!Array.isArray(object.annotation)) @@ -21490,7 +24019,7 @@ for (var i = 0; i < object.annotation.length; ++i) { if (typeof object.annotation[i] !== "object") throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected"); - message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i]); + message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i], long + 1); } } return message; @@ -21570,7 +24099,7 @@ this.path = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21679,9 +24208,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Annotation.decode = function decode(reader, length, error) { + Annotation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21716,7 +24249,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21747,9 +24280,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Annotation.verify = function verify(message) { + Annotation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.path != null && message.hasOwnProperty("path")) { if (!Array.isArray(message.path)) return "path: array expected"; @@ -21786,9 +24323,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation */ - Annotation.fromObject = function fromObject(object) { + Annotation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); if (object.path) { if (!Array.isArray(object.path)) @@ -21911,6 +24452,22 @@ return GeneratedCodeInfo; })(); + /** + * SymbolVisibility enum. + * @name google.protobuf.SymbolVisibility + * @enum {number} + * @property {number} VISIBILITY_UNSET=0 VISIBILITY_UNSET value + * @property {number} VISIBILITY_LOCAL=1 VISIBILITY_LOCAL value + * @property {number} VISIBILITY_EXPORT=2 VISIBILITY_EXPORT value + */ + protobuf.SymbolVisibility = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "VISIBILITY_UNSET"] = 0; + values[valuesById[1] = "VISIBILITY_LOCAL"] = 1; + values[valuesById[2] = "VISIBILITY_EXPORT"] = 2; + return values; + })(); + protobuf.Duration = (function() { /** @@ -21932,7 +24489,7 @@ function Duration(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22007,9 +24564,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Duration.decode = function decode(reader, length, error) { + Duration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22025,7 +24586,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22056,9 +24617,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Duration.verify = function verify(message) { + Duration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.seconds != null && message.hasOwnProperty("seconds")) if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) return "seconds: integer|Long expected"; @@ -22076,9 +24641,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Duration} Duration */ - Duration.fromObject = function fromObject(object) { + Duration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Duration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Duration(); if (object.seconds != null) if ($util.Long) @@ -22175,7 +24744,7 @@ function Any(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22250,9 +24819,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Any.decode = function decode(reader, length, error) { + Any.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Any(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22268,7 +24841,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22299,9 +24872,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Any.verify = function verify(message) { + Any.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type_url != null && message.hasOwnProperty("type_url")) if (!$util.isString(message.type_url)) return "type_url: string expected"; @@ -22319,9 +24896,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Any} Any */ - Any.fromObject = function fromObject(object) { + Any.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Any) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Any(); if (object.type_url != null) message.type_url = String(object.type_url); @@ -22411,7 +24992,7 @@ function Empty(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22466,9 +25047,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Empty.decode = function decode(reader, length, error) { + Empty.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Empty(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22476,7 +25061,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22507,9 +25092,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Empty.verify = function verify(message) { + Empty.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -22521,9 +25110,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Empty} Empty */ - Empty.fromObject = function fromObject(object) { + Empty.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Empty) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.protobuf.Empty(); }; @@ -22590,7 +25183,7 @@ function Timestamp(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22665,9 +25258,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Timestamp.decode = function decode(reader, length, error) { + Timestamp.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22683,7 +25280,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22714,9 +25311,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Timestamp.verify = function verify(message) { + Timestamp.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.seconds != null && message.hasOwnProperty("seconds")) if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) return "seconds: integer|Long expected"; @@ -22734,9 +25335,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Timestamp} Timestamp */ - Timestamp.fromObject = function fromObject(object) { + Timestamp.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Timestamp) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Timestamp(); if (object.seconds != null) if ($util.Long) @@ -23048,7 +25653,7 @@ function Operation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23167,9 +25772,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Operation.decode = function decode(reader, length, error) { + Operation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.Operation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23181,7 +25790,7 @@ break; } case 2: { - message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32()); + message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -23189,15 +25798,15 @@ break; } case 4: { - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + message.error = $root.google.rpc.Status.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.response = $root.google.protobuf.Any.decode(reader, reader.uint32()); + message.response = $root.google.protobuf.Any.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23228,15 +25837,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Operation.verify = function verify(message) { + Operation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.google.protobuf.Any.verify(message.metadata); + var error = $root.google.protobuf.Any.verify(message.metadata, long + 1); if (error) return "metadata." + error; } @@ -23246,7 +25859,7 @@ if (message.error != null && message.hasOwnProperty("error")) { properties.result = 1; { - var error = $root.google.rpc.Status.verify(message.error); + var error = $root.google.rpc.Status.verify(message.error, long + 1); if (error) return "error." + error; } @@ -23256,7 +25869,7 @@ return "result: multiple values"; properties.result = 1; { - var error = $root.google.protobuf.Any.verify(message.response); + var error = $root.google.protobuf.Any.verify(message.response, long + 1); if (error) return "response." + error; } @@ -23272,28 +25885,32 @@ * @param {Object.} object Plain object * @returns {google.longrunning.Operation} Operation */ - Operation.fromObject = function fromObject(object) { + Operation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.Operation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.Operation(); if (object.name != null) message.name = String(object.name); if (object.metadata != null) { if (typeof object.metadata !== "object") throw TypeError(".google.longrunning.Operation.metadata: object expected"); - message.metadata = $root.google.protobuf.Any.fromObject(object.metadata); + message.metadata = $root.google.protobuf.Any.fromObject(object.metadata, long + 1); } if (object.done != null) message.done = Boolean(object.done); if (object.error != null) { if (typeof object.error !== "object") throw TypeError(".google.longrunning.Operation.error: object expected"); - message.error = $root.google.rpc.Status.fromObject(object.error); + message.error = $root.google.rpc.Status.fromObject(object.error, long + 1); } if (object.response != null) { if (typeof object.response !== "object") throw TypeError(".google.longrunning.Operation.response: object expected"); - message.response = $root.google.protobuf.Any.fromObject(object.response); + message.response = $root.google.protobuf.Any.fromObject(object.response, long + 1); } return message; }; @@ -23384,7 +26001,7 @@ function GetOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23449,9 +26066,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetOperationRequest.decode = function decode(reader, length, error) { + GetOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.GetOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23463,7 +26084,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23494,9 +26115,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetOperationRequest.verify = function verify(message) { + GetOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -23511,9 +26136,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.GetOperationRequest} GetOperationRequest */ - GetOperationRequest.fromObject = function fromObject(object) { + GetOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.GetOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.GetOperationRequest(); if (object.name != null) message.name = String(object.name); @@ -23592,7 +26221,7 @@ function ListOperationsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23687,9 +26316,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListOperationsRequest.decode = function decode(reader, length, error) { + ListOperationsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.ListOperationsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23713,7 +26346,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23744,9 +26377,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListOperationsRequest.verify = function verify(message) { + ListOperationsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -23770,9 +26407,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.ListOperationsRequest} ListOperationsRequest */ - ListOperationsRequest.fromObject = function fromObject(object) { + ListOperationsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.ListOperationsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.ListOperationsRequest(); if (object.name != null) message.name = String(object.name); @@ -23866,7 +26507,7 @@ this.operations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23942,9 +26583,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListOperationsResponse.decode = function decode(reader, length, error) { + ListOperationsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.ListOperationsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23954,7 +26599,7 @@ case 1: { if (!(message.operations && message.operations.length)) message.operations = []; - message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); + message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -23962,7 +26607,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23993,14 +26638,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListOperationsResponse.verify = function verify(message) { + ListOperationsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.operations != null && message.hasOwnProperty("operations")) { if (!Array.isArray(message.operations)) return "operations: array expected"; for (var i = 0; i < message.operations.length; ++i) { - var error = $root.google.longrunning.Operation.verify(message.operations[i]); + var error = $root.google.longrunning.Operation.verify(message.operations[i], long + 1); if (error) return "operations." + error; } @@ -24019,9 +26668,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.ListOperationsResponse} ListOperationsResponse */ - ListOperationsResponse.fromObject = function fromObject(object) { + ListOperationsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.ListOperationsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.ListOperationsResponse(); if (object.operations) { if (!Array.isArray(object.operations)) @@ -24030,7 +26683,7 @@ for (var i = 0; i < object.operations.length; ++i) { if (typeof object.operations[i] !== "object") throw TypeError(".google.longrunning.ListOperationsResponse.operations: object expected"); - message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i]); + message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i], long + 1); } } if (object.nextPageToken != null) @@ -24114,7 +26767,7 @@ function CancelOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24179,9 +26832,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CancelOperationRequest.decode = function decode(reader, length, error) { + CancelOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.CancelOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24193,7 +26850,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -24224,9 +26881,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CancelOperationRequest.verify = function verify(message) { + CancelOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -24241,9 +26902,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.CancelOperationRequest} CancelOperationRequest */ - CancelOperationRequest.fromObject = function fromObject(object) { + CancelOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.CancelOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.CancelOperationRequest(); if (object.name != null) message.name = String(object.name); @@ -24319,7 +26984,7 @@ function DeleteOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24384,9 +27049,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteOperationRequest.decode = function decode(reader, length, error) { + DeleteOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.DeleteOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24398,7 +27067,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -24429,9 +27098,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteOperationRequest.verify = function verify(message) { + DeleteOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -24446,9 +27119,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.DeleteOperationRequest} DeleteOperationRequest */ - DeleteOperationRequest.fromObject = function fromObject(object) { + DeleteOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.DeleteOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.DeleteOperationRequest(); if (object.name != null) message.name = String(object.name); @@ -24525,7 +27202,7 @@ function WaitOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24600,9 +27277,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WaitOperationRequest.decode = function decode(reader, length, error) { + WaitOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.WaitOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24614,11 +27295,11 @@ break; } case 2: { - message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -24649,14 +27330,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - WaitOperationRequest.verify = function verify(message) { + WaitOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.timeout != null && message.hasOwnProperty("timeout")) { - var error = $root.google.protobuf.Duration.verify(message.timeout); + var error = $root.google.protobuf.Duration.verify(message.timeout, long + 1); if (error) return "timeout." + error; } @@ -24671,16 +27356,20 @@ * @param {Object.} object Plain object * @returns {google.longrunning.WaitOperationRequest} WaitOperationRequest */ - WaitOperationRequest.fromObject = function fromObject(object) { + WaitOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.WaitOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.WaitOperationRequest(); if (object.name != null) message.name = String(object.name); if (object.timeout != null) { if (typeof object.timeout !== "object") throw TypeError(".google.longrunning.WaitOperationRequest.timeout: object expected"); - message.timeout = $root.google.protobuf.Duration.fromObject(object.timeout); + message.timeout = $root.google.protobuf.Duration.fromObject(object.timeout, long + 1); } return message; }; @@ -24759,7 +27448,7 @@ function OperationInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24834,9 +27523,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationInfo.decode = function decode(reader, length, error) { + OperationInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.OperationInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24852,7 +27545,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -24883,9 +27576,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OperationInfo.verify = function verify(message) { + OperationInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.responseType != null && message.hasOwnProperty("responseType")) if (!$util.isString(message.responseType)) return "responseType: string expected"; @@ -24903,9 +27600,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.OperationInfo} OperationInfo */ - OperationInfo.fromObject = function fromObject(object) { + OperationInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.OperationInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.OperationInfo(); if (object.responseType != null) message.responseType = String(object.responseType); @@ -25002,7 +27703,7 @@ this.details = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -25088,9 +27789,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Status.decode = function decode(reader, length, error) { + Status.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.Status(); while (reader.pos < end) { var tag = reader.uint32(); @@ -25108,11 +27813,11 @@ case 3: { if (!(message.details && message.details.length)) message.details = []; - message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32())); + message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -25143,9 +27848,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Status.verify = function verify(message) { + Status.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.code != null && message.hasOwnProperty("code")) if (!$util.isInteger(message.code)) return "code: integer expected"; @@ -25156,7 +27865,7 @@ if (!Array.isArray(message.details)) return "details: array expected"; for (var i = 0; i < message.details.length; ++i) { - var error = $root.google.protobuf.Any.verify(message.details[i]); + var error = $root.google.protobuf.Any.verify(message.details[i], long + 1); if (error) return "details." + error; } @@ -25172,9 +27881,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.Status} Status */ - Status.fromObject = function fromObject(object) { + Status.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.Status) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.Status(); if (object.code != null) message.code = object.code | 0; @@ -25187,7 +27900,7 @@ for (var i = 0; i < object.details.length; ++i) { if (typeof object.details[i] !== "object") throw TypeError(".google.rpc.Status.details: object expected"); - message.details[i] = $root.google.protobuf.Any.fromObject(object.details[i]); + message.details[i] = $root.google.protobuf.Any.fromObject(object.details[i], long + 1); } } return message; diff --git a/packages/google-cloud-shell/protos/protos.json b/packages/google-cloud-shell/protos/protos.json index 048e733b151c..cdc517c36b25 100644 --- a/packages/google-cloud-shell/protos/protos.json +++ b/packages/google-cloud-shell/protos/protos.json @@ -380,8 +380,7 @@ "java_multiple_files": true, "java_outer_classname": "ResourceProto", "java_package": "com.google.api", - "objc_class_prefix": "GAPI", - "cc_enable_arenas": true + "objc_class_prefix": "GAPI" }, "nested": { "http": { @@ -505,6 +504,10 @@ "rule": "repeated", "type": "ClientLibraryDestination", "id": 2 + }, + "selectiveGapicGeneration": { + "type": "SelectiveGapicGeneration", + "id": 3 } } }, @@ -645,6 +648,28 @@ "common": { "type": "CommonLanguageSettings", "id": 1 + }, + "experimentalFeatures": { + "type": "ExperimentalFeatures", + "id": 2 + } + }, + "nested": { + "ExperimentalFeatures": { + "fields": { + "restAsyncIoEnabled": { + "type": "bool", + "id": 1 + }, + "protobufPythonicTypesEnabled": { + "type": "bool", + "id": 2 + }, + "unversionedPackageDisabled": { + "type": "bool", + "id": 3 + } + } } } }, @@ -702,6 +727,11 @@ "common": { "type": "CommonLanguageSettings", "id": 1 + }, + "renamedServices": { + "keyType": "string", + "type": "string", + "id": 2 } } }, @@ -763,6 +793,19 @@ "PACKAGE_MANAGER": 20 } }, + "SelectiveGapicGeneration": { + "fields": { + "methods": { + "rule": "repeated", + "type": "string", + "id": 1 + }, + "generateOmittedAsInternal": { + "type": "bool", + "id": 2 + } + } + }, "LaunchStage": { "values": { "LAUNCH_STAGE_UNSPECIFIED": 0, @@ -895,12 +938,19 @@ "type": "FileDescriptorProto", "id": 1 } - } + }, + "extensions": [ + [ + 536000000, + 536000000 + ] + ] }, "Edition": { "edition": "proto2", "values": { "EDITION_UNKNOWN": 0, + "EDITION_LEGACY": 900, "EDITION_PROTO2": 998, "EDITION_PROTO3": 999, "EDITION_2023": 1000, @@ -939,6 +989,11 @@ "type": "int32", "id": 11 }, + "optionDependency": { + "rule": "repeated", + "type": "string", + "id": 15 + }, "messageType": { "rule": "repeated", "type": "DescriptorProto", @@ -1027,6 +1082,10 @@ "rule": "repeated", "type": "string", "id": 10 + }, + "visibility": { + "type": "SymbolVisibility", + "id": 11 } }, "nested": { @@ -1252,6 +1311,10 @@ "rule": "repeated", "type": "string", "id": 5 + }, + "visibility": { + "type": "SymbolVisibility", + "id": 6 } }, "nested": { @@ -1302,7 +1365,14 @@ "type": "ServiceOptions", "id": 3 } - } + }, + "reserved": [ + [ + 4, + 4 + ], + "stream" + ] }, "MethodDescriptorProto": { "edition": "proto2", @@ -1466,6 +1536,7 @@ 42, 42 ], + "php_generic_services", [ 38, 38 @@ -1601,7 +1672,8 @@ "type": "bool", "id": 10, "options": { - "default": false + "default": false, + "deprecated": true } }, "debugRedact": { @@ -1629,6 +1701,10 @@ "type": "FeatureSet", "id": 21 }, + "featureSupport": { + "type": "FeatureSupport", + "id": 22 + }, "uninterpretedOption": { "rule": "repeated", "type": "UninterpretedOption", @@ -1698,6 +1774,26 @@ "id": 2 } } + }, + "FeatureSupport": { + "fields": { + "editionIntroduced": { + "type": "Edition", + "id": 1 + }, + "editionDeprecated": { + "type": "Edition", + "id": 2 + }, + "deprecationWarning": { + "type": "string", + "id": 3 + }, + "editionRemoved": { + "type": "Edition", + "id": 4 + } + } } } }, @@ -1786,6 +1882,10 @@ "default": false } }, + "featureSupport": { + "type": "FieldOptions.FeatureSupport", + "id": 4 + }, "uninterpretedOption": { "rule": "repeated", "type": "UninterpretedOption", @@ -1928,6 +2028,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_2023", "edition_defaults.value": "EXPLICIT" } @@ -1938,6 +2039,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "OPEN" } @@ -1948,6 +2050,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "PACKED" } @@ -1958,6 +2061,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "VERIFY" } @@ -1968,7 +2072,8 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", - "edition_defaults.edition": "EDITION_PROTO2", + "feature_support.edition_introduced": "EDITION_2023", + "edition_defaults.edition": "EDITION_LEGACY", "edition_defaults.value": "LENGTH_PREFIXED" } }, @@ -1978,27 +2083,38 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "ALLOW" } + }, + "enforceNamingStyle": { + "type": "EnforceNamingStyle", + "id": 7, + "options": { + "retention": "RETENTION_SOURCE", + "targets": "TARGET_TYPE_METHOD", + "feature_support.edition_introduced": "EDITION_2024", + "edition_defaults.edition": "EDITION_2024", + "edition_defaults.value": "STYLE2024" + } + }, + "defaultSymbolVisibility": { + "type": "VisibilityFeature.DefaultSymbolVisibility", + "id": 8, + "options": { + "retention": "RETENTION_SOURCE", + "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2024", + "edition_defaults.edition": "EDITION_2024", + "edition_defaults.value": "EXPORT_TOP_LEVEL" + } } }, "extensions": [ [ 1000, - 1000 - ], - [ - 1001, - 1001 - ], - [ - 1002, - 1002 - ], - [ - 9990, - 9990 + 9994 ], [ 9995, @@ -2043,7 +2159,13 @@ "UTF8_VALIDATION_UNKNOWN": 0, "VERIFY": 2, "NONE": 3 - } + }, + "reserved": [ + [ + 1, + 1 + ] + ] }, "MessageEncoding": { "values": { @@ -2058,6 +2180,33 @@ "ALLOW": 1, "LEGACY_BEST_EFFORT": 2 } + }, + "EnforceNamingStyle": { + "values": { + "ENFORCE_NAMING_STYLE_UNKNOWN": 0, + "STYLE2024": 1, + "STYLE_LEGACY": 2 + } + }, + "VisibilityFeature": { + "fields": {}, + "reserved": [ + [ + 1, + 536870911 + ] + ], + "nested": { + "DefaultSymbolVisibility": { + "values": { + "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": 0, + "EXPORT_ALL": 1, + "EXPORT_TOP_LEVEL": 2, + "LOCAL_ALL": 3, + "STRICT": 4 + } + } + } } } }, @@ -2085,11 +2234,26 @@ "type": "Edition", "id": 3 }, - "features": { + "overridableFeatures": { "type": "FeatureSet", - "id": 2 + "id": 4 + }, + "fixedFeatures": { + "type": "FeatureSet", + "id": 5 } - } + }, + "reserved": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + "features" + ] } } }, @@ -2102,6 +2266,12 @@ "id": 1 } }, + "extensions": [ + [ + 536000000, + 536000000 + ] + ], "nested": { "Location": { "fields": { @@ -2187,6 +2357,14 @@ } } }, + "SymbolVisibility": { + "edition": "proto2", + "values": { + "VISIBILITY_UNSET": 0, + "VISIBILITY_LOCAL": 1, + "VISIBILITY_EXPORT": 2 + } + }, "Duration": { "fields": { "seconds": { @@ -2236,6 +2414,7 @@ "java_multiple_files": true, "java_outer_classname": "OperationsProto", "java_package": "com.google.longrunning", + "objc_class_prefix": "GLRUN", "php_namespace": "Google\\LongRunning" }, "nested": { diff --git a/packages/google-cloud-shell/src/v1/cloud_shell_service_client.ts b/packages/google-cloud-shell/src/v1/cloud_shell_service_client.ts index 0752b1cc6bb8..e0b8d3951380 100644 --- a/packages/google-cloud-shell/src/v1/cloud_shell_service_client.ts +++ b/packages/google-cloud-shell/src/v1/cloud_shell_service_client.ts @@ -18,11 +18,18 @@ /* global window */ import type * as gax from 'google-gax'; -import type {Callback, CallOptions, Descriptors, ClientOptions, GrpcClientOptions, LROperation} from 'google-gax'; +import type { + Callback, + CallOptions, + Descriptors, + ClientOptions, + GrpcClientOptions, + LROperation, +} from 'google-gax'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); -import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax'; +import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -50,7 +57,7 @@ export class CloudShellServiceClient { private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; + private _defaults: { [method: string]: gax.CallSettings }; private _universeDomain: string; private _servicePath: string; private _log = logging.log('shell'); @@ -63,10 +70,10 @@ export class CloudShellServiceClient { batching: {}, }; warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; - pathTemplates: {[name: string]: gax.PathTemplate}; + innerApiCalls: { [name: string]: Function }; + pathTemplates: { [name: string]: gax.PathTemplate }; operationsClient: gax.OperationsClient; - cloudShellServiceStub?: Promise<{[name: string]: Function}>; + cloudShellServiceStub?: Promise<{ [name: string]: Function }>; /** * Construct an instance of CloudShellServiceClient. @@ -107,21 +114,42 @@ export class CloudShellServiceClient { * const client = new CloudShellServiceClient({fallback: true}, gax); * ``` */ - constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback, + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof CloudShellServiceClient; - if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) { - throw new Error('Please set either universe_domain or universeDomain, but not both.'); + if ( + opts?.universe_domain && + opts?.universeDomain && + opts?.universe_domain !== opts?.universeDomain + ) { + throw new Error( + 'Please set either universe_domain or universeDomain, but not both.', + ); } - const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined; - this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com'; + const universeDomainEnvVar = + typeof process === 'object' && typeof process.env === 'object' + ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] + : undefined; + this._universeDomain = + opts?.universeDomain ?? + opts?.universe_domain ?? + universeDomainEnvVar ?? + 'googleapis.com'; this._servicePath = 'cloudshell.' + this._universeDomain; - const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const servicePath = + opts?.servicePath || opts?.apiEndpoint || this._servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); - opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts); // Request numeric enum values if REST transport is used. opts.numericEnums = true; @@ -146,7 +174,7 @@ export class CloudShellServiceClient { this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Set useJWTAccessWithScope on the auth object. this.auth.useJWTAccessWithScope = true; @@ -160,10 +188,7 @@ export class CloudShellServiceClient { } // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process === 'object' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { @@ -185,7 +210,7 @@ export class CloudShellServiceClient { // Create useful helper objects for these. this.pathTemplates = { environmentPathTemplate: new this._gaxModule.PathTemplate( - 'users/{user}/environments/{environment}' + 'users/{user}/environments/{environment}', ), }; @@ -195,53 +220,70 @@ export class CloudShellServiceClient { // rather than holding a request open. const lroOptions: GrpcClientOptions = { auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, }; if (opts.fallback) { lroOptions.protoJson = protoFilesRoot; lroOptions.httpRules = []; } - this.operationsClient = this._gaxModule.lro(lroOptions).operationsClient(opts); + this.operationsClient = this._gaxModule + .lro(lroOptions) + .operationsClient(opts); const startEnvironmentResponse = protoFilesRoot.lookup( - '.google.cloud.shell.v1.StartEnvironmentResponse') as gax.protobuf.Type; + '.google.cloud.shell.v1.StartEnvironmentResponse', + ) as gax.protobuf.Type; const startEnvironmentMetadata = protoFilesRoot.lookup( - '.google.cloud.shell.v1.StartEnvironmentMetadata') as gax.protobuf.Type; + '.google.cloud.shell.v1.StartEnvironmentMetadata', + ) as gax.protobuf.Type; const authorizeEnvironmentResponse = protoFilesRoot.lookup( - '.google.cloud.shell.v1.AuthorizeEnvironmentResponse') as gax.protobuf.Type; + '.google.cloud.shell.v1.AuthorizeEnvironmentResponse', + ) as gax.protobuf.Type; const authorizeEnvironmentMetadata = protoFilesRoot.lookup( - '.google.cloud.shell.v1.AuthorizeEnvironmentMetadata') as gax.protobuf.Type; + '.google.cloud.shell.v1.AuthorizeEnvironmentMetadata', + ) as gax.protobuf.Type; const addPublicKeyResponse = protoFilesRoot.lookup( - '.google.cloud.shell.v1.AddPublicKeyResponse') as gax.protobuf.Type; + '.google.cloud.shell.v1.AddPublicKeyResponse', + ) as gax.protobuf.Type; const addPublicKeyMetadata = protoFilesRoot.lookup( - '.google.cloud.shell.v1.AddPublicKeyMetadata') as gax.protobuf.Type; + '.google.cloud.shell.v1.AddPublicKeyMetadata', + ) as gax.protobuf.Type; const removePublicKeyResponse = protoFilesRoot.lookup( - '.google.cloud.shell.v1.RemovePublicKeyResponse') as gax.protobuf.Type; + '.google.cloud.shell.v1.RemovePublicKeyResponse', + ) as gax.protobuf.Type; const removePublicKeyMetadata = protoFilesRoot.lookup( - '.google.cloud.shell.v1.RemovePublicKeyMetadata') as gax.protobuf.Type; + '.google.cloud.shell.v1.RemovePublicKeyMetadata', + ) as gax.protobuf.Type; this.descriptors.longrunning = { startEnvironment: new this._gaxModule.LongrunningDescriptor( this.operationsClient, startEnvironmentResponse.decode.bind(startEnvironmentResponse), - startEnvironmentMetadata.decode.bind(startEnvironmentMetadata)), + startEnvironmentMetadata.decode.bind(startEnvironmentMetadata), + ), authorizeEnvironment: new this._gaxModule.LongrunningDescriptor( this.operationsClient, authorizeEnvironmentResponse.decode.bind(authorizeEnvironmentResponse), - authorizeEnvironmentMetadata.decode.bind(authorizeEnvironmentMetadata)), + authorizeEnvironmentMetadata.decode.bind(authorizeEnvironmentMetadata), + ), addPublicKey: new this._gaxModule.LongrunningDescriptor( this.operationsClient, addPublicKeyResponse.decode.bind(addPublicKeyResponse), - addPublicKeyMetadata.decode.bind(addPublicKeyMetadata)), + addPublicKeyMetadata.decode.bind(addPublicKeyMetadata), + ), removePublicKey: new this._gaxModule.LongrunningDescriptor( this.operationsClient, removePublicKeyResponse.decode.bind(removePublicKeyResponse), - removePublicKeyMetadata.decode.bind(removePublicKeyMetadata)) + removePublicKeyMetadata.decode.bind(removePublicKeyMetadata), + ), }; // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.shell.v1.CloudShellService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + 'google.cloud.shell.v1.CloudShellService', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + { 'x-goog-api-client': clientHeader.join(' ') }, + ); // Set up a dictionary of "inner API calls"; the core implementation // of calling the API is handled in `google-gax`, with this code @@ -272,37 +314,46 @@ export class CloudShellServiceClient { // Put together the "service stub" for // google.cloud.shell.v1.CloudShellService. this.cloudShellServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.shell.v1.CloudShellService') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.shell.v1.CloudShellService', + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.shell.v1.CloudShellService, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + this._opts, + this._providedCustomServicePath, + ) as Promise<{ [method: string]: Function }>; // Iterate over each of the methods that the service provides // and create an API call method for each. - const cloudShellServiceStubMethods = - ['getEnvironment', 'startEnvironment', 'authorizeEnvironment', 'addPublicKey', 'removePublicKey']; + const cloudShellServiceStubMethods = [ + 'getEnvironment', + 'startEnvironment', + 'authorizeEnvironment', + 'addPublicKey', + 'removePublicKey', + ]; for (const methodName of cloudShellServiceStubMethods) { const callPromise = this.cloudShellServiceStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, - (err: Error|null|undefined) => () => { + (stub) => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error | null | undefined) => () => { throw err; - }); + }, + ); - const descriptor = - this.descriptors.longrunning[methodName] || - undefined; + const descriptor = this.descriptors.longrunning[methodName] || undefined; const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], descriptor, - this._opts.fallback + this._opts.fallback, ); this.innerApiCalls[methodName] = apiCall; @@ -317,8 +368,14 @@ export class CloudShellServiceClient { * @returns {string} The DNS address for this service. */ static get servicePath() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static servicePath is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'cloudshell.googleapis.com'; } @@ -329,8 +386,14 @@ export class CloudShellServiceClient { * @returns {string} The DNS address for this service. */ static get apiEndpoint() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static apiEndpoint is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'cloudshell.googleapis.com'; } @@ -361,9 +424,7 @@ export class CloudShellServiceClient { * @returns {string[]} List of default scopes. */ static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; + return ['https://www.googleapis.com/auth/cloud-platform']; } getProjectId(): Promise; @@ -372,8 +433,9 @@ export class CloudShellServiceClient { * Return the project ID used by this class. * @returns {Promise} A promise that resolves to string containing the project ID. */ - getProjectId(callback?: Callback): - Promise|void { + getProjectId( + callback?: Callback, + ): Promise | void { if (callback) { this.auth.getProjectId(callback); return; @@ -384,573 +446,855 @@ export class CloudShellServiceClient { // ------------------- // -- Service calls -- // ------------------- -/** - * Gets an environment. Returns NOT_FOUND if the environment does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Name of the requested resource, for example `users/me/environments/default` - * or `users/someone@example.com/environments/default`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.cloud.shell.v1.Environment|Environment}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/cloud_shell_service.get_environment.js - * region_tag:cloudshell_v1_generated_CloudShellService_GetEnvironment_async - */ + /** + * Gets an environment. Returns NOT_FOUND if the environment does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Name of the requested resource, for example `users/me/environments/default` + * or `users/someone@example.com/environments/default`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.cloud.shell.v1.Environment|Environment}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/cloud_shell_service.get_environment.js + * region_tag:cloudshell_v1_generated_CloudShellService_GetEnvironment_async + */ getEnvironment( - request?: protos.google.cloud.shell.v1.IGetEnvironmentRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.shell.v1.IEnvironment, - protos.google.cloud.shell.v1.IGetEnvironmentRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.shell.v1.IGetEnvironmentRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.shell.v1.IEnvironment, + protos.google.cloud.shell.v1.IGetEnvironmentRequest | undefined, + {} | undefined, + ] + >; getEnvironment( - request: protos.google.cloud.shell.v1.IGetEnvironmentRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.shell.v1.IEnvironment, - protos.google.cloud.shell.v1.IGetEnvironmentRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.shell.v1.IGetEnvironmentRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.shell.v1.IEnvironment, + protos.google.cloud.shell.v1.IGetEnvironmentRequest | null | undefined, + {} | null | undefined + >, + ): void; getEnvironment( - request: protos.google.cloud.shell.v1.IGetEnvironmentRequest, - callback: Callback< - protos.google.cloud.shell.v1.IEnvironment, - protos.google.cloud.shell.v1.IGetEnvironmentRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.shell.v1.IGetEnvironmentRequest, + callback: Callback< + protos.google.cloud.shell.v1.IEnvironment, + protos.google.cloud.shell.v1.IGetEnvironmentRequest | null | undefined, + {} | null | undefined + >, + ): void; getEnvironment( - request?: protos.google.cloud.shell.v1.IGetEnvironmentRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.shell.v1.IEnvironment, - protos.google.cloud.shell.v1.IGetEnvironmentRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.shell.v1.IGetEnvironmentRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.shell.v1.IEnvironment, - protos.google.cloud.shell.v1.IGetEnvironmentRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.shell.v1.IEnvironment, - protos.google.cloud.shell.v1.IGetEnvironmentRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.shell.v1.IGetEnvironmentRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.shell.v1.IEnvironment, + protos.google.cloud.shell.v1.IGetEnvironmentRequest | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.shell.v1.IEnvironment, + protos.google.cloud.shell.v1.IGetEnvironmentRequest | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getEnvironment request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.shell.v1.IEnvironment, - protos.google.cloud.shell.v1.IGetEnvironmentRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.shell.v1.IEnvironment, + | protos.google.cloud.shell.v1.IGetEnvironmentRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getEnvironment response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getEnvironment(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.shell.v1.IEnvironment, - protos.google.cloud.shell.v1.IGetEnvironmentRequest|undefined, - {}|undefined - ]) => { - this._log.info('getEnvironment response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getEnvironment(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.shell.v1.IEnvironment, + protos.google.cloud.shell.v1.IGetEnvironmentRequest | undefined, + {} | undefined, + ]) => { + this._log.info('getEnvironment response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Starts an existing environment, allowing clients to connect to it. The - * returned operation will contain an instance of StartEnvironmentMetadata in - * its metadata field. Users can wait for the environment to start by polling - * this operation via GetOperation. Once the environment has finished starting - * and is ready to accept connections, the operation will contain a - * StartEnvironmentResponse in its response field. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Name of the resource that should be started, for example - * `users/me/environments/default` or - * `users/someone@example.com/environments/default`. - * @param {string} request.accessToken - * The initial access token passed to the environment. If this is present and - * valid, the environment will be pre-authenticated with gcloud so that the - * user can run gcloud commands in Cloud Shell without having to log in. This - * code can be updated later by calling AuthorizeEnvironment. - * @param {string[]} request.publicKeys - * Public keys that should be added to the environment before it is started. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1/cloud_shell_service.start_environment.js - * region_tag:cloudshell_v1_generated_CloudShellService_StartEnvironment_async - */ + /** + * Starts an existing environment, allowing clients to connect to it. The + * returned operation will contain an instance of StartEnvironmentMetadata in + * its metadata field. Users can wait for the environment to start by polling + * this operation via GetOperation. Once the environment has finished starting + * and is ready to accept connections, the operation will contain a + * StartEnvironmentResponse in its response field. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Name of the resource that should be started, for example + * `users/me/environments/default` or + * `users/someone@example.com/environments/default`. + * @param {string} request.accessToken + * The initial access token passed to the environment. If this is present and + * valid, the environment will be pre-authenticated with gcloud so that the + * user can run gcloud commands in Cloud Shell without having to log in. This + * code can be updated later by calling AuthorizeEnvironment. + * @param {string[]} request.publicKeys + * Public keys that should be added to the environment before it is started. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1/cloud_shell_service.start_environment.js + * region_tag:cloudshell_v1_generated_CloudShellService_StartEnvironment_async + */ startEnvironment( - request?: protos.google.cloud.shell.v1.IStartEnvironmentRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.shell.v1.IStartEnvironmentRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.cloud.shell.v1.IStartEnvironmentResponse, + protos.google.cloud.shell.v1.IStartEnvironmentMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; startEnvironment( - request: protos.google.cloud.shell.v1.IStartEnvironmentRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.shell.v1.IStartEnvironmentRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.shell.v1.IStartEnvironmentResponse, + protos.google.cloud.shell.v1.IStartEnvironmentMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; startEnvironment( - request: protos.google.cloud.shell.v1.IStartEnvironmentRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.shell.v1.IStartEnvironmentRequest, + callback: Callback< + LROperation< + protos.google.cloud.shell.v1.IStartEnvironmentResponse, + protos.google.cloud.shell.v1.IStartEnvironmentMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; startEnvironment( - request?: protos.google.cloud.shell.v1.IStartEnvironmentRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.shell.v1.IStartEnvironmentRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.shell.v1.IStartEnvironmentResponse, + protos.google.cloud.shell.v1.IStartEnvironmentMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.shell.v1.IStartEnvironmentResponse, + protos.google.cloud.shell.v1.IStartEnvironmentMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.cloud.shell.v1.IStartEnvironmentResponse, + protos.google.cloud.shell.v1.IStartEnvironmentMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.cloud.shell.v1.IStartEnvironmentResponse, + protos.google.cloud.shell.v1.IStartEnvironmentMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('startEnvironment response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('startEnvironment request %j', request); - return this.innerApiCalls.startEnvironment(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('startEnvironment response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .startEnvironment(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.cloud.shell.v1.IStartEnvironmentResponse, + protos.google.cloud.shell.v1.IStartEnvironmentMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('startEnvironment response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `startEnvironment()`. - * @param {String} name - * The operation name that will be passed. - * @returns {Promise} - The promise which resolves to an object. - * The decoded operation object has result and metadata field to get information from. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1/cloud_shell_service.start_environment.js - * region_tag:cloudshell_v1_generated_CloudShellService_StartEnvironment_async - */ - async checkStartEnvironmentProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `startEnvironment()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1/cloud_shell_service.start_environment.js + * region_tag:cloudshell_v1_generated_CloudShellService_StartEnvironment_async + */ + async checkStartEnvironmentProgress( + name: string, + ): Promise< + LROperation< + protos.google.cloud.shell.v1.StartEnvironmentResponse, + protos.google.cloud.shell.v1.StartEnvironmentMetadata + > + > { this._log.info('startEnvironment long-running'); - const request = new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest({name}); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + { name }, + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new this._gaxModule.Operation(operation, this.descriptors.longrunning.startEnvironment, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.startEnvironment, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.cloud.shell.v1.StartEnvironmentResponse, + protos.google.cloud.shell.v1.StartEnvironmentMetadata + >; } -/** - * Sends OAuth credentials to a running environment on behalf of a user. When - * this completes, the environment will be authorized to run various Google - * Cloud command line tools without requiring the user to manually - * authenticate. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Name of the resource that should receive the credentials, for example - * `users/me/environments/default` or - * `users/someone@example.com/environments/default`. - * @param {string} request.accessToken - * The OAuth access token that should be sent to the environment. - * @param {string} request.idToken - * The OAuth ID token that should be sent to the environment. - * @param {google.protobuf.Timestamp} request.expireTime - * The time when the credentials expire. If not set, defaults to one hour from - * when the server received the request. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1/cloud_shell_service.authorize_environment.js - * region_tag:cloudshell_v1_generated_CloudShellService_AuthorizeEnvironment_async - */ + /** + * Sends OAuth credentials to a running environment on behalf of a user. When + * this completes, the environment will be authorized to run various Google + * Cloud command line tools without requiring the user to manually + * authenticate. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Name of the resource that should receive the credentials, for example + * `users/me/environments/default` or + * `users/someone@example.com/environments/default`. + * @param {string} request.accessToken + * The OAuth access token that should be sent to the environment. + * @param {string} request.idToken + * The OAuth ID token that should be sent to the environment. + * @param {google.protobuf.Timestamp} request.expireTime + * The time when the credentials expire. If not set, defaults to one hour from + * when the server received the request. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1/cloud_shell_service.authorize_environment.js + * region_tag:cloudshell_v1_generated_CloudShellService_AuthorizeEnvironment_async + */ authorizeEnvironment( - request?: protos.google.cloud.shell.v1.IAuthorizeEnvironmentRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.shell.v1.IAuthorizeEnvironmentRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.cloud.shell.v1.IAuthorizeEnvironmentResponse, + protos.google.cloud.shell.v1.IAuthorizeEnvironmentMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; authorizeEnvironment( - request: protos.google.cloud.shell.v1.IAuthorizeEnvironmentRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.shell.v1.IAuthorizeEnvironmentRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.shell.v1.IAuthorizeEnvironmentResponse, + protos.google.cloud.shell.v1.IAuthorizeEnvironmentMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; authorizeEnvironment( - request: protos.google.cloud.shell.v1.IAuthorizeEnvironmentRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.shell.v1.IAuthorizeEnvironmentRequest, + callback: Callback< + LROperation< + protos.google.cloud.shell.v1.IAuthorizeEnvironmentResponse, + protos.google.cloud.shell.v1.IAuthorizeEnvironmentMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; authorizeEnvironment( - request?: protos.google.cloud.shell.v1.IAuthorizeEnvironmentRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.shell.v1.IAuthorizeEnvironmentRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.shell.v1.IAuthorizeEnvironmentResponse, + protos.google.cloud.shell.v1.IAuthorizeEnvironmentMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.shell.v1.IAuthorizeEnvironmentResponse, + protos.google.cloud.shell.v1.IAuthorizeEnvironmentMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.cloud.shell.v1.IAuthorizeEnvironmentResponse, + protos.google.cloud.shell.v1.IAuthorizeEnvironmentMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.cloud.shell.v1.IAuthorizeEnvironmentResponse, + protos.google.cloud.shell.v1.IAuthorizeEnvironmentMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('authorizeEnvironment response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('authorizeEnvironment request %j', request); - return this.innerApiCalls.authorizeEnvironment(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('authorizeEnvironment response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .authorizeEnvironment(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.cloud.shell.v1.IAuthorizeEnvironmentResponse, + protos.google.cloud.shell.v1.IAuthorizeEnvironmentMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('authorizeEnvironment response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `authorizeEnvironment()`. - * @param {String} name - * The operation name that will be passed. - * @returns {Promise} - The promise which resolves to an object. - * The decoded operation object has result and metadata field to get information from. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1/cloud_shell_service.authorize_environment.js - * region_tag:cloudshell_v1_generated_CloudShellService_AuthorizeEnvironment_async - */ - async checkAuthorizeEnvironmentProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `authorizeEnvironment()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1/cloud_shell_service.authorize_environment.js + * region_tag:cloudshell_v1_generated_CloudShellService_AuthorizeEnvironment_async + */ + async checkAuthorizeEnvironmentProgress( + name: string, + ): Promise< + LROperation< + protos.google.cloud.shell.v1.AuthorizeEnvironmentResponse, + protos.google.cloud.shell.v1.AuthorizeEnvironmentMetadata + > + > { this._log.info('authorizeEnvironment long-running'); - const request = new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest({name}); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + { name }, + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new this._gaxModule.Operation(operation, this.descriptors.longrunning.authorizeEnvironment, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.authorizeEnvironment, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.cloud.shell.v1.AuthorizeEnvironmentResponse, + protos.google.cloud.shell.v1.AuthorizeEnvironmentMetadata + >; } -/** - * Adds a public SSH key to an environment, allowing clients with the - * corresponding private key to connect to that environment via SSH. If a key - * with the same content already exists, this will error with ALREADY_EXISTS. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.environment - * Environment this key should be added to, e.g. - * `users/me/environments/default`. - * @param {string} request.key - * Key that should be added to the environment. Supported formats are - * `ssh-dss` (see RFC4253), `ssh-rsa` (see RFC4253), `ecdsa-sha2-nistp256` - * (see RFC5656), `ecdsa-sha2-nistp384` (see RFC5656) and - * `ecdsa-sha2-nistp521` (see RFC5656). It should be structured as - * <format> <content>, where <content> part is encoded with - * Base64. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1/cloud_shell_service.add_public_key.js - * region_tag:cloudshell_v1_generated_CloudShellService_AddPublicKey_async - */ + /** + * Adds a public SSH key to an environment, allowing clients with the + * corresponding private key to connect to that environment via SSH. If a key + * with the same content already exists, this will error with ALREADY_EXISTS. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.environment + * Environment this key should be added to, e.g. + * `users/me/environments/default`. + * @param {string} request.key + * Key that should be added to the environment. Supported formats are + * `ssh-dss` (see RFC4253), `ssh-rsa` (see RFC4253), `ecdsa-sha2-nistp256` + * (see RFC5656), `ecdsa-sha2-nistp384` (see RFC5656) and + * `ecdsa-sha2-nistp521` (see RFC5656). It should be structured as + * <format> <content>, where <content> part is encoded with + * Base64. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1/cloud_shell_service.add_public_key.js + * region_tag:cloudshell_v1_generated_CloudShellService_AddPublicKey_async + */ addPublicKey( - request?: protos.google.cloud.shell.v1.IAddPublicKeyRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.shell.v1.IAddPublicKeyRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.cloud.shell.v1.IAddPublicKeyResponse, + protos.google.cloud.shell.v1.IAddPublicKeyMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; addPublicKey( - request: protos.google.cloud.shell.v1.IAddPublicKeyRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.shell.v1.IAddPublicKeyRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.shell.v1.IAddPublicKeyResponse, + protos.google.cloud.shell.v1.IAddPublicKeyMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; addPublicKey( - request: protos.google.cloud.shell.v1.IAddPublicKeyRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.shell.v1.IAddPublicKeyRequest, + callback: Callback< + LROperation< + protos.google.cloud.shell.v1.IAddPublicKeyResponse, + protos.google.cloud.shell.v1.IAddPublicKeyMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; addPublicKey( - request?: protos.google.cloud.shell.v1.IAddPublicKeyRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.shell.v1.IAddPublicKeyRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.shell.v1.IAddPublicKeyResponse, + protos.google.cloud.shell.v1.IAddPublicKeyMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.shell.v1.IAddPublicKeyResponse, + protos.google.cloud.shell.v1.IAddPublicKeyMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.cloud.shell.v1.IAddPublicKeyResponse, + protos.google.cloud.shell.v1.IAddPublicKeyMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'environment': request.environment ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + environment: request.environment ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.cloud.shell.v1.IAddPublicKeyResponse, + protos.google.cloud.shell.v1.IAddPublicKeyMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('addPublicKey response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('addPublicKey request %j', request); - return this.innerApiCalls.addPublicKey(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('addPublicKey response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .addPublicKey(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.cloud.shell.v1.IAddPublicKeyResponse, + protos.google.cloud.shell.v1.IAddPublicKeyMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('addPublicKey response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `addPublicKey()`. - * @param {String} name - * The operation name that will be passed. - * @returns {Promise} - The promise which resolves to an object. - * The decoded operation object has result and metadata field to get information from. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1/cloud_shell_service.add_public_key.js - * region_tag:cloudshell_v1_generated_CloudShellService_AddPublicKey_async - */ - async checkAddPublicKeyProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `addPublicKey()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1/cloud_shell_service.add_public_key.js + * region_tag:cloudshell_v1_generated_CloudShellService_AddPublicKey_async + */ + async checkAddPublicKeyProgress( + name: string, + ): Promise< + LROperation< + protos.google.cloud.shell.v1.AddPublicKeyResponse, + protos.google.cloud.shell.v1.AddPublicKeyMetadata + > + > { this._log.info('addPublicKey long-running'); - const request = new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest({name}); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + { name }, + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new this._gaxModule.Operation(operation, this.descriptors.longrunning.addPublicKey, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.addPublicKey, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.cloud.shell.v1.AddPublicKeyResponse, + protos.google.cloud.shell.v1.AddPublicKeyMetadata + >; } -/** - * Removes a public SSH key from an environment. Clients will no longer be - * able to connect to the environment using the corresponding private key. - * If a key with the same content is not present, this will error with - * NOT_FOUND. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.environment - * Environment this key should be removed from, e.g. - * `users/me/environments/default`. - * @param {string} request.key - * Key that should be removed from the environment. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1/cloud_shell_service.remove_public_key.js - * region_tag:cloudshell_v1_generated_CloudShellService_RemovePublicKey_async - */ + /** + * Removes a public SSH key from an environment. Clients will no longer be + * able to connect to the environment using the corresponding private key. + * If a key with the same content is not present, this will error with + * NOT_FOUND. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.environment + * Environment this key should be removed from, e.g. + * `users/me/environments/default`. + * @param {string} request.key + * Key that should be removed from the environment. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1/cloud_shell_service.remove_public_key.js + * region_tag:cloudshell_v1_generated_CloudShellService_RemovePublicKey_async + */ removePublicKey( - request?: protos.google.cloud.shell.v1.IRemovePublicKeyRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.shell.v1.IRemovePublicKeyRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.cloud.shell.v1.IRemovePublicKeyResponse, + protos.google.cloud.shell.v1.IRemovePublicKeyMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; removePublicKey( - request: protos.google.cloud.shell.v1.IRemovePublicKeyRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.shell.v1.IRemovePublicKeyRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.shell.v1.IRemovePublicKeyResponse, + protos.google.cloud.shell.v1.IRemovePublicKeyMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; removePublicKey( - request: protos.google.cloud.shell.v1.IRemovePublicKeyRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.shell.v1.IRemovePublicKeyRequest, + callback: Callback< + LROperation< + protos.google.cloud.shell.v1.IRemovePublicKeyResponse, + protos.google.cloud.shell.v1.IRemovePublicKeyMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; removePublicKey( - request?: protos.google.cloud.shell.v1.IRemovePublicKeyRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.shell.v1.IRemovePublicKeyRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.shell.v1.IRemovePublicKeyResponse, + protos.google.cloud.shell.v1.IRemovePublicKeyMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.shell.v1.IRemovePublicKeyResponse, + protos.google.cloud.shell.v1.IRemovePublicKeyMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.cloud.shell.v1.IRemovePublicKeyResponse, + protos.google.cloud.shell.v1.IRemovePublicKeyMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'environment': request.environment ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + environment: request.environment ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.cloud.shell.v1.IRemovePublicKeyResponse, + protos.google.cloud.shell.v1.IRemovePublicKeyMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('removePublicKey response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('removePublicKey request %j', request); - return this.innerApiCalls.removePublicKey(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('removePublicKey response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .removePublicKey(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.cloud.shell.v1.IRemovePublicKeyResponse, + protos.google.cloud.shell.v1.IRemovePublicKeyMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('removePublicKey response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `removePublicKey()`. - * @param {String} name - * The operation name that will be passed. - * @returns {Promise} - The promise which resolves to an object. - * The decoded operation object has result and metadata field to get information from. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1/cloud_shell_service.remove_public_key.js - * region_tag:cloudshell_v1_generated_CloudShellService_RemovePublicKey_async - */ - async checkRemovePublicKeyProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `removePublicKey()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1/cloud_shell_service.remove_public_key.js + * region_tag:cloudshell_v1_generated_CloudShellService_RemovePublicKey_async + */ + async checkRemovePublicKeyProgress( + name: string, + ): Promise< + LROperation< + protos.google.cloud.shell.v1.RemovePublicKeyResponse, + protos.google.cloud.shell.v1.RemovePublicKeyMetadata + > + > { this._log.info('removePublicKey long-running'); - const request = new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest({name}); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + { name }, + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new this._gaxModule.Operation(operation, this.descriptors.longrunning.removePublicKey, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.removePublicKey, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.cloud.shell.v1.RemovePublicKeyResponse, + protos.google.cloud.shell.v1.RemovePublicKeyMetadata + >; } -/** + /** * Gets the latest state of a long-running operation. Clients can use this * method to poll the operation result at intervals as recommended by the API * service. @@ -993,22 +1337,22 @@ export class CloudShellServiceClient { protos.google.longrunning.Operation, protos.google.longrunning.GetOperationRequest, {} | null | undefined - > + >, ): Promise<[protos.google.longrunning.Operation]> { - let options: gax.CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } else { - options = optionsOrCallback as gax.CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.getOperation(request, options, callback); } /** @@ -1043,15 +1387,15 @@ export class CloudShellServiceClient { */ listOperationsAsync( request: protos.google.longrunning.ListOperationsRequest, - options?: gax.CallOptions + options?: gax.CallOptions, ): AsyncIterable { - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.listOperationsAsync(request, options); } /** @@ -1085,7 +1429,7 @@ export class CloudShellServiceClient { * await client.cancelOperation({name: ''}); * ``` */ - cancelOperation( + cancelOperation( request: protos.google.longrunning.CancelOperationRequest, optionsOrCallback?: | gax.CallOptions @@ -1098,25 +1442,24 @@ export class CloudShellServiceClient { protos.google.longrunning.CancelOperationRequest, protos.google.protobuf.Empty, {} | undefined | null - > + >, ): Promise { - let options: gax.CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } else { - options = optionsOrCallback as gax.CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.cancelOperation(request, options, callback); } - /** * Deletes a long-running operation. This method indicates that the client is * no longer interested in the operation result. It does not cancel the @@ -1155,22 +1498,22 @@ export class CloudShellServiceClient { protos.google.protobuf.Empty, protos.google.longrunning.DeleteOperationRequest, {} | null | undefined - > + >, ): Promise { - let options: gax.CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } else { - options = optionsOrCallback as gax.CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.deleteOperation(request, options, callback); } @@ -1185,7 +1528,7 @@ export class CloudShellServiceClient { * @param {string} environment * @returns {string} Resource name string. */ - environmentPath(user:string,environment:string) { + environmentPath(user: string, environment: string) { return this.pathTemplates.environmentPathTemplate.render({ user: user, environment: environment, @@ -1200,7 +1543,8 @@ export class CloudShellServiceClient { * @returns {string} A string representing the user. */ matchUserFromEnvironmentName(environmentName: string) { - return this.pathTemplates.environmentPathTemplate.match(environmentName).user; + return this.pathTemplates.environmentPathTemplate.match(environmentName) + .user; } /** @@ -1211,7 +1555,8 @@ export class CloudShellServiceClient { * @returns {string} A string representing the environment. */ matchEnvironmentFromEnvironmentName(environmentName: string) { - return this.pathTemplates.environmentPathTemplate.match(environmentName).environment; + return this.pathTemplates.environmentPathTemplate.match(environmentName) + .environment; } /** @@ -1222,7 +1567,7 @@ export class CloudShellServiceClient { */ close(): Promise { if (this.cloudShellServiceStub && !this._terminated) { - return this.cloudShellServiceStub.then(stub => { + return this.cloudShellServiceStub.then((stub) => { this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); @@ -1231,4 +1576,4 @@ export class CloudShellServiceClient { } return Promise.resolve(); } -} \ No newline at end of file +} diff --git a/packages/google-cloud-shell/src/v1/index.ts b/packages/google-cloud-shell/src/v1/index.ts index ca39f06531c9..b042882397d2 100644 --- a/packages/google-cloud-shell/src/v1/index.ts +++ b/packages/google-cloud-shell/src/v1/index.ts @@ -16,4 +16,4 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -export {CloudShellServiceClient} from './cloud_shell_service_client'; +export { CloudShellServiceClient } from './cloud_shell_service_client'; diff --git a/packages/google-cloud-shell/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-shell/system-test/fixtures/sample/src/index.ts index 802abedfe3b9..958c426ff0e3 100644 --- a/packages/google-cloud-shell/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-shell/system-test/fixtures/sample/src/index.ts @@ -16,7 +16,7 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -import {CloudShellServiceClient} from '@google-cloud/shell'; +import { CloudShellServiceClient } from '@google-cloud/shell'; // check that the client class type name can be used function doStuffWithCloudShellServiceClient(client: CloudShellServiceClient) { diff --git a/packages/google-cloud-shell/system-test/install.ts b/packages/google-cloud-shell/system-test/install.ts index f66069aa3940..ccf167042d2e 100644 --- a/packages/google-cloud-shell/system-test/install.ts +++ b/packages/google-cloud-shell/system-test/install.ts @@ -16,34 +16,36 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -import {packNTest} from 'pack-n-play'; -import {readFileSync} from 'fs'; -import {describe, it} from 'mocha'; +import { packNTest } from 'pack-n-play'; +import { readFileSync } from 'fs'; +import { describe, it } from 'mocha'; describe('📦 pack-n-play test', () => { - - it('TypeScript code', async function() { + it('TypeScript code', async function () { this.timeout(300000); const options = { packageDir: process.cwd(), sample: { description: 'TypeScript user can use the type definitions', - ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString() - } + ts: readFileSync( + './system-test/fixtures/sample/src/index.ts', + ).toString(), + }, }; await packNTest(options); }); - it('JavaScript code', async function() { + it('JavaScript code', async function () { this.timeout(300000); const options = { packageDir: process.cwd(), sample: { description: 'JavaScript user can use the library', - cjs: readFileSync('./system-test/fixtures/sample/src/index.js').toString() - } + cjs: readFileSync( + './system-test/fixtures/sample/src/index.js', + ).toString(), + }, }; await packNTest(options); }); - }); diff --git a/packages/google-cloud-shell/test/gapic_cloud_shell_service_v1.ts b/packages/google-cloud-shell/test/gapic_cloud_shell_service_v1.ts index 16025b637272..28c660ccd0b8 100644 --- a/packages/google-cloud-shell/test/gapic_cloud_shell_service_v1.ts +++ b/packages/google-cloud-shell/test/gapic_cloud_shell_service_v1.ts @@ -19,1252 +19,1564 @@ import * as protos from '../protos/protos'; import * as assert from 'assert'; import * as sinon from 'sinon'; -import {SinonStub} from 'sinon'; -import {describe, it} from 'mocha'; +import { SinonStub } from 'sinon'; +import { describe, it } from 'mocha'; import * as cloudshellserviceModule from '../src'; -import {protobuf, LROperation, operationsProtos} from 'google-gax'; +import { protobuf, LROperation, operationsProtos } from 'google-gax'; // Dynamically loaded proto JSON is needed to get the type information // to fill in default values for request objects -const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); +const root = protobuf.Root.fromJSON( + require('../protos/protos.json'), +).resolveAll(); // eslint-disable-next-line @typescript-eslint/no-unused-vars function getTypeDefaultValue(typeName: string, fields: string[]) { - let type = root.lookupType(typeName) as protobuf.Type; - for (const field of fields.slice(0, -1)) { - type = type.fields[field]?.resolvedType as protobuf.Type; - } - return type.fields[fields[fields.length - 1]]?.defaultValue; + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; } function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, { defaults: true }); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject, + ) as T; } function stubSimpleCall(response?: ResponseType, error?: Error) { - return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); } -function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { - return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error, +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); } -function stubLongRunningCall(response?: ResponseType, callError?: Error, lroError?: Error) { - const innerStub = lroError ? sinon.stub().rejects(lroError) : sinon.stub().resolves([response]); - const mockOperation = { - promise: innerStub, - }; - return callError ? sinon.stub().rejects(callError) : sinon.stub().resolves([mockOperation]); +function stubLongRunningCall( + response?: ResponseType, + callError?: Error, + lroError?: Error, +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().rejects(callError) + : sinon.stub().resolves([mockOperation]); } -function stubLongRunningCallWithCallback(response?: ResponseType, callError?: Error, lroError?: Error) { - const innerStub = lroError ? sinon.stub().rejects(lroError) : sinon.stub().resolves([response]); - const mockOperation = { - promise: innerStub, - }; - return callError ? sinon.stub().callsArgWith(2, callError) : sinon.stub().callsArgWith(2, null, mockOperation); +function stubLongRunningCallWithCallback( + response?: ResponseType, + callError?: Error, + lroError?: Error, +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().callsArgWith(2, callError) + : sinon.stub().callsArgWith(2, null, mockOperation); } -function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { - let counter = 0; - const asyncIterable = { - [Symbol.asyncIterator]() { - return { - async next() { - if (error) { - return Promise.reject(error); - } - if (counter >= responses!.length) { - return Promise.resolve({done: true, value: undefined}); - } - return Promise.resolve({done: false, value: responses![counter++]}); - } - }; - } - }; - return sinon.stub().returns(asyncIterable); +function stubAsyncIterationCall( + responses?: ResponseType[], + error?: Error, +) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({ done: true, value: undefined }); + } + return Promise.resolve({ done: false, value: responses![counter++] }); + }, + }; + }, + }; + return sinon.stub().returns(asyncIterable); } describe('v1.CloudShellServiceClient', () => { - describe('Common methods', () => { - it('has apiEndpoint', () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient(); - const apiEndpoint = client.apiEndpoint; - assert.strictEqual(apiEndpoint, 'cloudshell.googleapis.com'); - }); - - it('has universeDomain', () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient(); - const universeDomain = client.universeDomain; - assert.strictEqual(universeDomain, "googleapis.com"); - }); - - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - it('throws DeprecationWarning if static servicePath is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const servicePath = cloudshellserviceModule.v1.CloudShellServiceClient.servicePath; - assert.strictEqual(servicePath, 'cloudshell.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - - it('throws DeprecationWarning if static apiEndpoint is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const apiEndpoint = cloudshellserviceModule.v1.CloudShellServiceClient.apiEndpoint; - assert.strictEqual(apiEndpoint, 'cloudshell.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - } - it('sets apiEndpoint according to universe domain camelCase', () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({universeDomain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'cloudshell.example.com'); - }); - - it('sets apiEndpoint according to universe domain snakeCase', () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({universe_domain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'cloudshell.example.com'); - }); + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'cloudshell.googleapis.com'); + }); - if (typeof process === 'object' && 'env' in process) { - describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { - it('sets apiEndpoint from environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new cloudshellserviceModule.v1.CloudShellServiceClient(); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'cloudshell.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - - it('value configured in code has priority over environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({universeDomain: 'configured.example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'cloudshell.configured.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - }); - } - it('does not allow setting both universeDomain and universe_domain', () => { - assert.throws(() => { new cloudshellserviceModule.v1.CloudShellServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); - }); + it('has universeDomain', () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient(); + const universeDomain = client.universeDomain; + assert.strictEqual(universeDomain, 'googleapis.com'); + }); - it('has port', () => { - const port = cloudshellserviceModule.v1.CloudShellServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + it('throws DeprecationWarning if static servicePath is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const servicePath = + cloudshellserviceModule.v1.CloudShellServiceClient.servicePath; + assert.strictEqual(servicePath, 'cloudshell.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = + cloudshellserviceModule.v1.CloudShellServiceClient.apiEndpoint; + assert.strictEqual(apiEndpoint, 'cloudshell.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + universeDomain: 'example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'cloudshell.example.com'); + }); - it('should create a client with no option', () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient(); - assert(client); - }); + it('sets apiEndpoint according to universe domain snakeCase', () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + universe_domain: 'example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'cloudshell.example.com'); + }); - it('should create a client with gRPC fallback', () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - fallback: true, - }); - assert(client); + if (typeof process === 'object' && 'env' in process) { + describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { + it('sets apiEndpoint from environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = + new cloudshellserviceModule.v1.CloudShellServiceClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'cloudshell.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } }); - it('has initialize method and supports deferred initialization', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.cloudShellServiceStub, undefined); - await client.initialize(); - assert(client.cloudShellServiceStub); + it('value configured in code has priority over environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = new cloudshellserviceModule.v1.CloudShellServiceClient( + { universeDomain: 'configured.example.com' }, + ); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'cloudshell.configured.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } }); - - it('has close method for the initialized client', done => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize().catch(err => {throw err}); - assert(client.cloudShellServiceStub); - client.close().then(() => { - done(); - }).catch(err => {throw err}); + }); + } + it('does not allow setting both universeDomain and universe_domain', () => { + assert.throws(() => { + new cloudshellserviceModule.v1.CloudShellServiceClient({ + universe_domain: 'example.com', + universeDomain: 'example.net', }); + }); + }); - it('has close method for the non-initialized client', done => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.cloudShellServiceStub, undefined); - client.close().then(() => { - done(); - }).catch(err => {throw err}); - }); + it('has port', () => { + const port = cloudshellserviceModule.v1.CloudShellServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); + it('should create a client with no option', () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient(); + assert(client); + }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error|null, projectId?: string|null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } - }); - }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); - }); + it('should create a client with gRPC fallback', () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + fallback: true, + }); + assert(client); }); - describe('getEnvironment', () => { - it('invokes getEnvironment without error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.GetEnvironmentRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.GetEnvironmentRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.shell.v1.Environment() - ); - client.innerApiCalls.getEnvironment = stubSimpleCall(expectedResponse); - const [response] = await client.getEnvironment(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getEnvironment as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getEnvironment as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('has initialize method and supports deferred initialization', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.cloudShellServiceStub, undefined); + await client.initialize(); + assert(client.cloudShellServiceStub); + }); - it('invokes getEnvironment without error using callback', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.GetEnvironmentRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.GetEnvironmentRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.shell.v1.Environment() - ); - client.innerApiCalls.getEnvironment = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getEnvironment( - request, - (err?: Error|null, result?: protos.google.cloud.shell.v1.IEnvironment|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getEnvironment as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getEnvironment as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + it('has close method for the initialized client', (done) => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.initialize().catch((err) => { + throw err; + }); + assert(client.cloudShellServiceStub); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); + }); - it('invokes getEnvironment with error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.GetEnvironmentRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.GetEnvironmentRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getEnvironment = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getEnvironment(request), expectedError); - const actualRequest = (client.innerApiCalls.getEnvironment as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getEnvironment as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + it('has close method for the non-initialized client', (done) => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.cloudShellServiceStub, undefined); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); + }); - it('invokes getEnvironment with closed client', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.GetEnvironmentRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.GetEnvironmentRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getEnvironment(request), expectedError); - }); + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); }); - describe('startEnvironment', () => { - it('invokes startEnvironment without error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.StartEnvironmentRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.StartEnvironmentRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.startEnvironment = stubLongRunningCall(expectedResponse); - const [operation] = await client.startEnvironment(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.startEnvironment as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.startEnvironment as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + }); + + describe('getEnvironment', () => { + it('invokes getEnvironment without error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.GetEnvironmentRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.GetEnvironmentRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.shell.v1.Environment(), + ); + client.innerApiCalls.getEnvironment = stubSimpleCall(expectedResponse); + const [response] = await client.getEnvironment(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getEnvironment as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getEnvironment as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes startEnvironment without error using callback', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.StartEnvironmentRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.StartEnvironmentRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.startEnvironment = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.startEnvironment( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.startEnvironment as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.startEnvironment as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getEnvironment without error using callback', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.GetEnvironmentRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.GetEnvironmentRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.shell.v1.Environment(), + ); + client.innerApiCalls.getEnvironment = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getEnvironment( + request, + ( + err?: Error | null, + result?: protos.google.cloud.shell.v1.IEnvironment | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getEnvironment as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getEnvironment as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes startEnvironment with call error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.StartEnvironmentRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.StartEnvironmentRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.startEnvironment = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.startEnvironment(request), expectedError); - const actualRequest = (client.innerApiCalls.startEnvironment as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.startEnvironment as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getEnvironment with error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.GetEnvironmentRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.GetEnvironmentRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getEnvironment = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getEnvironment(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getEnvironment as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getEnvironment as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes startEnvironment with LRO error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.StartEnvironmentRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.StartEnvironmentRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.startEnvironment = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.startEnvironment(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.startEnvironment as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.startEnvironment as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes getEnvironment with closed client', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.GetEnvironmentRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.GetEnvironmentRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getEnvironment(request), expectedError); + }); + }); + + describe('startEnvironment', () => { + it('invokes startEnvironment without error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.StartEnvironmentRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.StartEnvironmentRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.startEnvironment = + stubLongRunningCall(expectedResponse); + const [operation] = await client.startEnvironment(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.startEnvironment as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.startEnvironment as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes checkStartEnvironmentProgress without error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedResponse = generateSampleMessage( - new operationsProtos.google.longrunning.Operation() - ); - expectedResponse.name = 'test'; - expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; - expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')} - - client.operationsClient.getOperation = stubSimpleCall(expectedResponse); - const decodedOperation = await client.checkStartEnvironmentProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); + it('invokes startEnvironment without error using callback', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.StartEnvironmentRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.StartEnvironmentRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.startEnvironment = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.startEnvironment( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.shell.v1.IStartEnvironmentResponse, + protos.google.cloud.shell.v1.IStartEnvironmentMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.shell.v1.IStartEnvironmentResponse, + protos.google.cloud.shell.v1.IStartEnvironmentMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.startEnvironment as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.startEnvironment as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes checkStartEnvironmentProgress with error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); - - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkStartEnvironmentProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('invokes startEnvironment with call error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.StartEnvironmentRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.StartEnvironmentRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.startEnvironment = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.startEnvironment(request), expectedError); + const actualRequest = ( + client.innerApiCalls.startEnvironment as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.startEnvironment as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('authorizeEnvironment', () => { - it('invokes authorizeEnvironment without error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.AuthorizeEnvironmentRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.AuthorizeEnvironmentRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.authorizeEnvironment = stubLongRunningCall(expectedResponse); - const [operation] = await client.authorizeEnvironment(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.authorizeEnvironment as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.authorizeEnvironment as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes startEnvironment with LRO error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.StartEnvironmentRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.StartEnvironmentRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.startEnvironment = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.startEnvironment(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.startEnvironment as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.startEnvironment as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes authorizeEnvironment without error using callback', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.AuthorizeEnvironmentRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.AuthorizeEnvironmentRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.authorizeEnvironment = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.authorizeEnvironment( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.authorizeEnvironment as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.authorizeEnvironment as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes checkStartEnvironmentProgress without error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation(), + ); + expectedResponse.name = 'test'; + expectedResponse.response = { type_url: 'url', value: Buffer.from('') }; + expectedResponse.metadata = { type_url: 'url', value: Buffer.from('') }; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkStartEnvironmentProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); - it('invokes authorizeEnvironment with call error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.AuthorizeEnvironmentRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.AuthorizeEnvironmentRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.authorizeEnvironment = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.authorizeEnvironment(request), expectedError); - const actualRequest = (client.innerApiCalls.authorizeEnvironment as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.authorizeEnvironment as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes checkStartEnvironmentProgress with error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkStartEnvironmentProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('authorizeEnvironment', () => { + it('invokes authorizeEnvironment without error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.AuthorizeEnvironmentRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.AuthorizeEnvironmentRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.authorizeEnvironment = + stubLongRunningCall(expectedResponse); + const [operation] = await client.authorizeEnvironment(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.authorizeEnvironment as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.authorizeEnvironment as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes authorizeEnvironment with LRO error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.AuthorizeEnvironmentRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.AuthorizeEnvironmentRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.authorizeEnvironment = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.authorizeEnvironment(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.authorizeEnvironment as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.authorizeEnvironment as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes authorizeEnvironment without error using callback', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.AuthorizeEnvironmentRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.AuthorizeEnvironmentRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.authorizeEnvironment = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.authorizeEnvironment( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.shell.v1.IAuthorizeEnvironmentResponse, + protos.google.cloud.shell.v1.IAuthorizeEnvironmentMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.shell.v1.IAuthorizeEnvironmentResponse, + protos.google.cloud.shell.v1.IAuthorizeEnvironmentMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.authorizeEnvironment as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.authorizeEnvironment as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes checkAuthorizeEnvironmentProgress without error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedResponse = generateSampleMessage( - new operationsProtos.google.longrunning.Operation() - ); - expectedResponse.name = 'test'; - expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; - expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')} - - client.operationsClient.getOperation = stubSimpleCall(expectedResponse); - const decodedOperation = await client.checkAuthorizeEnvironmentProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); + it('invokes authorizeEnvironment with call error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.AuthorizeEnvironmentRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.AuthorizeEnvironmentRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.authorizeEnvironment = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.authorizeEnvironment(request), expectedError); + const actualRequest = ( + client.innerApiCalls.authorizeEnvironment as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.authorizeEnvironment as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes checkAuthorizeEnvironmentProgress with error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); - - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkAuthorizeEnvironmentProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('invokes authorizeEnvironment with LRO error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.AuthorizeEnvironmentRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.AuthorizeEnvironmentRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.authorizeEnvironment = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.authorizeEnvironment(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.authorizeEnvironment as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.authorizeEnvironment as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('addPublicKey', () => { - it('invokes addPublicKey without error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.AddPublicKeyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.AddPublicKeyRequest', ['environment']); - request.environment = defaultValue1; - const expectedHeaderRequestParams = `environment=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.addPublicKey = stubLongRunningCall(expectedResponse); - const [operation] = await client.addPublicKey(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.addPublicKey as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.addPublicKey as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes checkAuthorizeEnvironmentProgress without error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation(), + ); + expectedResponse.name = 'test'; + expectedResponse.response = { type_url: 'url', value: Buffer.from('') }; + expectedResponse.metadata = { type_url: 'url', value: Buffer.from('') }; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkAuthorizeEnvironmentProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); - it('invokes addPublicKey without error using callback', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.AddPublicKeyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.AddPublicKeyRequest', ['environment']); - request.environment = defaultValue1; - const expectedHeaderRequestParams = `environment=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.addPublicKey = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.addPublicKey( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.addPublicKey as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.addPublicKey as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes checkAuthorizeEnvironmentProgress with error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkAuthorizeEnvironmentProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('addPublicKey', () => { + it('invokes addPublicKey without error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.AddPublicKeyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.AddPublicKeyRequest', + ['environment'], + ); + request.environment = defaultValue1; + const expectedHeaderRequestParams = `environment=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.addPublicKey = stubLongRunningCall(expectedResponse); + const [operation] = await client.addPublicKey(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.addPublicKey as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.addPublicKey as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes addPublicKey with call error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.AddPublicKeyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.AddPublicKeyRequest', ['environment']); - request.environment = defaultValue1; - const expectedHeaderRequestParams = `environment=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.addPublicKey = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.addPublicKey(request), expectedError); - const actualRequest = (client.innerApiCalls.addPublicKey as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.addPublicKey as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes addPublicKey without error using callback', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.AddPublicKeyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.AddPublicKeyRequest', + ['environment'], + ); + request.environment = defaultValue1; + const expectedHeaderRequestParams = `environment=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.addPublicKey = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.addPublicKey( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.shell.v1.IAddPublicKeyResponse, + protos.google.cloud.shell.v1.IAddPublicKeyMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.shell.v1.IAddPublicKeyResponse, + protos.google.cloud.shell.v1.IAddPublicKeyMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.addPublicKey as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.addPublicKey as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes addPublicKey with LRO error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.AddPublicKeyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.AddPublicKeyRequest', ['environment']); - request.environment = defaultValue1; - const expectedHeaderRequestParams = `environment=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.addPublicKey = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.addPublicKey(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.addPublicKey as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.addPublicKey as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes addPublicKey with call error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.AddPublicKeyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.AddPublicKeyRequest', + ['environment'], + ); + request.environment = defaultValue1; + const expectedHeaderRequestParams = `environment=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.addPublicKey = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.addPublicKey(request), expectedError); + const actualRequest = ( + client.innerApiCalls.addPublicKey as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.addPublicKey as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes checkAddPublicKeyProgress without error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedResponse = generateSampleMessage( - new operationsProtos.google.longrunning.Operation() - ); - expectedResponse.name = 'test'; - expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; - expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')} - - client.operationsClient.getOperation = stubSimpleCall(expectedResponse); - const decodedOperation = await client.checkAddPublicKeyProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); + it('invokes addPublicKey with LRO error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.AddPublicKeyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.AddPublicKeyRequest', + ['environment'], + ); + request.environment = defaultValue1; + const expectedHeaderRequestParams = `environment=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.addPublicKey = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.addPublicKey(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.addPublicKey as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.addPublicKey as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes checkAddPublicKeyProgress with error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); - - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkAddPublicKeyProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('invokes checkAddPublicKeyProgress without error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation(), + ); + expectedResponse.name = 'test'; + expectedResponse.response = { type_url: 'url', value: Buffer.from('') }; + expectedResponse.metadata = { type_url: 'url', value: Buffer.from('') }; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkAddPublicKeyProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); }); - describe('removePublicKey', () => { - it('invokes removePublicKey without error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.RemovePublicKeyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.RemovePublicKeyRequest', ['environment']); - request.environment = defaultValue1; - const expectedHeaderRequestParams = `environment=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.removePublicKey = stubLongRunningCall(expectedResponse); - const [operation] = await client.removePublicKey(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.removePublicKey as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.removePublicKey as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes checkAddPublicKeyProgress with error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.checkAddPublicKeyProgress(''), expectedError); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('removePublicKey', () => { + it('invokes removePublicKey without error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.RemovePublicKeyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.RemovePublicKeyRequest', + ['environment'], + ); + request.environment = defaultValue1; + const expectedHeaderRequestParams = `environment=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.removePublicKey = + stubLongRunningCall(expectedResponse); + const [operation] = await client.removePublicKey(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.removePublicKey as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.removePublicKey as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes removePublicKey without error using callback', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.RemovePublicKeyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.RemovePublicKeyRequest', ['environment']); - request.environment = defaultValue1; - const expectedHeaderRequestParams = `environment=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.removePublicKey = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.removePublicKey( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.removePublicKey as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.removePublicKey as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes removePublicKey without error using callback', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.RemovePublicKeyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.RemovePublicKeyRequest', + ['environment'], + ); + request.environment = defaultValue1; + const expectedHeaderRequestParams = `environment=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.removePublicKey = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.removePublicKey( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.shell.v1.IRemovePublicKeyResponse, + protos.google.cloud.shell.v1.IRemovePublicKeyMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.shell.v1.IRemovePublicKeyResponse, + protos.google.cloud.shell.v1.IRemovePublicKeyMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.removePublicKey as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.removePublicKey as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes removePublicKey with call error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.RemovePublicKeyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.RemovePublicKeyRequest', ['environment']); - request.environment = defaultValue1; - const expectedHeaderRequestParams = `environment=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.removePublicKey = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.removePublicKey(request), expectedError); - const actualRequest = (client.innerApiCalls.removePublicKey as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.removePublicKey as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes removePublicKey with call error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.RemovePublicKeyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.RemovePublicKeyRequest', + ['environment'], + ); + request.environment = defaultValue1; + const expectedHeaderRequestParams = `environment=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.removePublicKey = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.removePublicKey(request), expectedError); + const actualRequest = ( + client.innerApiCalls.removePublicKey as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.removePublicKey as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes removePublicKey with LRO error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.shell.v1.RemovePublicKeyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.shell.v1.RemovePublicKeyRequest', ['environment']); - request.environment = defaultValue1; - const expectedHeaderRequestParams = `environment=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.removePublicKey = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.removePublicKey(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.removePublicKey as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.removePublicKey as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes removePublicKey with LRO error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.shell.v1.RemovePublicKeyRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.shell.v1.RemovePublicKeyRequest', + ['environment'], + ); + request.environment = defaultValue1; + const expectedHeaderRequestParams = `environment=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.removePublicKey = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.removePublicKey(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.removePublicKey as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.removePublicKey as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes checkRemovePublicKeyProgress without error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedResponse = generateSampleMessage( - new operationsProtos.google.longrunning.Operation() - ); - expectedResponse.name = 'test'; - expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; - expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')} - - client.operationsClient.getOperation = stubSimpleCall(expectedResponse); - const decodedOperation = await client.checkRemovePublicKeyProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); + it('invokes checkRemovePublicKeyProgress without error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation(), + ); + expectedResponse.name = 'test'; + expectedResponse.response = { type_url: 'url', value: Buffer.from('') }; + expectedResponse.metadata = { type_url: 'url', value: Buffer.from('') }; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkRemovePublicKeyProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); - it('invokes checkRemovePublicKeyProgress with error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); - - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkRemovePublicKeyProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('invokes checkRemovePublicKeyProgress with error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkRemovePublicKeyProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); }); - describe('getOperation', () => { - it('invokes getOperation without error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.GetOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new operationsProtos.google.longrunning.Operation() - ); - client.operationsClient.getOperation = stubSimpleCall(expectedResponse); - const response = await client.getOperation(request); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0).calledWith(request) - ); - }); - it('invokes getOperation without error using callback', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.GetOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new operationsProtos.google.longrunning.Operation() - ); - client.operationsClient.getOperation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.operationsClient.getOperation( - request, - undefined, - ( - err?: Error | null, - result?: operationsProtos.google.longrunning.Operation | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }).catch(err => {throw err}); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); - it('invokes getOperation with error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.GetOperationRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(async () => {await client.getOperation(request)}, expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0).calledWith(request)); - }); + }); + describe('getOperation', () => { + it('invokes getOperation without error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.GetOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation(), + ); + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const response = await client.getOperation(request); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.operationsClient.getOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); }); - describe('cancelOperation', () => { - it('invokes cancelOperation without error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.CancelOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.cancelOperation = stubSimpleCall(expectedResponse); - const response = await client.cancelOperation(request); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.operationsClient.cancelOperation as SinonStub) - .getCall(0).calledWith(request) - ); - }); - it('invokes cancelOperation without error using callback', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.CancelOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.cancelOperation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.operationsClient.cancelOperation( - request, - undefined, - ( - err?: Error | null, - result?: protos.google.protobuf.Empty | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }).catch(err => {throw err}); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.operationsClient.cancelOperation as SinonStub) - .getCall(0)); - }); - it('invokes cancelOperation with error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.CancelOperationRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.cancelOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(async () => {await client.cancelOperation(request)}, expectedError); - assert((client.operationsClient.cancelOperation as SinonStub) - .getCall(0).calledWith(request)); - }); + it('invokes getOperation without error using callback', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.GetOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation(), + ); + client.operationsClient.getOperation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.operationsClient + .getOperation( + request, + undefined, + ( + err?: Error | null, + result?: operationsProtos.google.longrunning.Operation | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ) + .catch((err) => { + throw err; + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); }); - describe('deleteOperation', () => { - it('invokes deleteOperation without error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.DeleteOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.deleteOperation = stubSimpleCall(expectedResponse); - const response = await client.deleteOperation(request); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.operationsClient.deleteOperation as SinonStub) - .getCall(0).calledWith(request) - ); - }); - it('invokes deleteOperation without error using callback', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.DeleteOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.deleteOperation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.operationsClient.deleteOperation( - request, - undefined, - ( - err?: Error | null, - result?: protos.google.protobuf.Empty | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }).catch(err => {throw err}); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.operationsClient.deleteOperation as SinonStub) - .getCall(0)); - }); - it('invokes deleteOperation with error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.DeleteOperationRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.deleteOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(async () => {await client.deleteOperation(request)}, expectedError); - assert((client.operationsClient.deleteOperation as SinonStub) - .getCall(0).calledWith(request)); - }); + it('invokes getOperation with error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.GetOperationRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(async () => { + await client.getOperation(request); + }, expectedError); + assert( + (client.operationsClient.getOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); }); - describe('listOperationsAsync', () => { - it('uses async iteration with listOperations without error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsRequest() - ); - const expectedResponse = [ - generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsResponse() - ), - generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsResponse() - ), - generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsResponse() - ), - ]; - client.operationsClient.descriptor.listOperations.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: operationsProtos.google.longrunning.IOperation[] = []; - const iterable = client.operationsClient.listOperationsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.operationsClient.descriptor.listOperations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - }); - it('uses async iteration with listOperations with error', async () => { - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.descriptor.listOperations.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.operationsClient.listOperationsAsync(request); - await assert.rejects(async () => { - const responses: operationsProtos.google.longrunning.IOperation[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.operationsClient.descriptor.listOperations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - }); + }); + describe('cancelOperation', () => { + it('invokes cancelOperation without error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.CancelOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.cancelOperation = + stubSimpleCall(expectedResponse); + const response = await client.cancelOperation(request); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.operationsClient.cancelOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); }); - - describe('Path templates', () => { - - describe('environment', async () => { - const fakePath = "/rendered/path/environment"; - const expectedParameters = { - user: "userValue", - environment: "environmentValue", - }; - const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.environmentPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.environmentPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('environmentPath', () => { - const result = client.environmentPath("userValue", "environmentValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.environmentPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchUserFromEnvironmentName', () => { - const result = client.matchUserFromEnvironmentName(fakePath); - assert.strictEqual(result, "userValue"); - assert((client.pathTemplates.environmentPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchEnvironmentFromEnvironmentName', () => { - const result = client.matchEnvironmentFromEnvironmentName(fakePath); - assert.strictEqual(result, "environmentValue"); - assert((client.pathTemplates.environmentPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes cancelOperation without error using callback', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.CancelOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.cancelOperation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.operationsClient + .cancelOperation( + request, + undefined, + ( + err?: Error | null, + result?: protos.google.protobuf.Empty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ) + .catch((err) => { + throw err; + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.operationsClient.cancelOperation as SinonStub).getCall(0)); + }); + it('invokes cancelOperation with error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.CancelOperationRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.cancelOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(async () => { + await client.cancelOperation(request); + }, expectedError); + assert( + (client.operationsClient.cancelOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + }); + describe('deleteOperation', () => { + it('invokes deleteOperation without error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.DeleteOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.deleteOperation = + stubSimpleCall(expectedResponse); + const response = await client.deleteOperation(request); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.operationsClient.deleteOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + it('invokes deleteOperation without error using callback', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.DeleteOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.deleteOperation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.operationsClient + .deleteOperation( + request, + undefined, + ( + err?: Error | null, + result?: protos.google.protobuf.Empty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ) + .catch((err) => { + throw err; + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.operationsClient.deleteOperation as SinonStub).getCall(0)); + }); + it('invokes deleteOperation with error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.DeleteOperationRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.deleteOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(async () => { + await client.deleteOperation(request); + }, expectedError); + assert( + (client.operationsClient.deleteOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + }); + describe('listOperationsAsync', () => { + it('uses async iteration with listOperations without error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsRequest(), + ); + const expectedResponse = [ + generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsResponse(), + ), + generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsResponse(), + ), + generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsResponse(), + ), + ]; + client.operationsClient.descriptor.listOperations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: operationsProtos.google.longrunning.IOperation[] = []; + const iterable = client.operationsClient.listOperationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.operationsClient.descriptor.listOperations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + }); + it('uses async iteration with listOperations with error', async () => { + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.descriptor.listOperations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.operationsClient.listOperationsAsync(request); + await assert.rejects(async () => { + const responses: operationsProtos.google.longrunning.IOperation[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.operationsClient.descriptor.listOperations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + }); + }); + + describe('Path templates', () => { + describe('environment', async () => { + const fakePath = '/rendered/path/environment'; + const expectedParameters = { + user: 'userValue', + environment: 'environmentValue', + }; + const client = new cloudshellserviceModule.v1.CloudShellServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.environmentPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.environmentPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('environmentPath', () => { + const result = client.environmentPath('userValue', 'environmentValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.environmentPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchUserFromEnvironmentName', () => { + const result = client.matchUserFromEnvironmentName(fakePath); + assert.strictEqual(result, 'userValue'); + assert( + (client.pathTemplates.environmentPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchEnvironmentFromEnvironmentName', () => { + const result = client.matchEnvironmentFromEnvironmentName(fakePath); + assert.strictEqual(result, 'environmentValue'); + assert( + (client.pathTemplates.environmentPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); }); + }); }); diff --git a/packages/google-cloud-shell/webpack.config.js b/packages/google-cloud-shell/webpack.config.js index 2d7047889bef..b7f826274bb1 100644 --- a/packages/google-cloud-shell/webpack.config.js +++ b/packages/google-cloud-shell/webpack.config.js @@ -1,4 +1,4 @@ -// Copyright 2026 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License.